自定义用户模型&(Django)出现条带化&WebHook&错误 [英] Stripe "webhook" error with "custom user model" (Django)

查看:33
本文介绍了自定义用户模型&(Django)出现条带化&WebHook&错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试配置Django条纹订阅。

现在正在尝试通过以下代码设置WebHook以创建新的客户数据。

views.py

import stripe
from django.conf import settings
from django.contrib.auth.models import User
from subscriptions.models import StripeCustomer  

...


# Get the user and create a new StripeCustomer
user = User.objects.get(id=client_reference_id)

StripeCustomer.objects.create(
    user=user,
    stripeCustomerId=stripe_customer_id,
    stripeSubscriptionId=stripe_subscription_id,
)

print(user.username + ' just subscribed.')

我在

收到错误 用户=User.objects.get(id=client_reference_id)

因为我使用的是";自定义用户模型&。因此,我将上述代码更改为

用户=settings.AUTH_USER_MODEL.objects.get(id=client_reference_id)

但它仍然不起作用。 是否有其他方式写入以获取用户数据?

回溯(最近一次调用):文件 ";/home/app_admin/venv_ruling/ruling/subscriptions/views.py";,线路124, 在Stripe_WebHook中 用户=settings.AUTH_USER_MODEL.objects.get(id=client_reference_id) AttributeError:‘Str’对象没有属性‘OBJECTS’

我正在按照本手册创建此应用程序 https://testdriven.io/blog/django-stripe-subscriptions/

下面是其他代码。

我的模型.py

from django.conf import settings
from django.db import models


class StripeCustomer(models.Model):
    user = models.OneToOneField(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    stripeCustomerId = models.CharField(max_length=255)
    stripeSubscriptionId = models.CharField(max_length=255)

    def __str__(self):
        return self.user.username

账户/模型.py

from django.contrib.auth.models import AbstractUser


class CustomUser(AbstractUser):

    class Meta:
        verbose_name_plural = 'CustomUser'

我的settings.py

#used for django-allauth
AUTH_USER_MODEL = 'accounts.CustomUser'
我只是在这个问题中提到了上面的设置,但如果需要更多代码,请告诉我我会用这些信息更新我的问题。谢谢您

推荐答案

尝试导入:

from django.contrib.auth import get_user_model

而不是使用

user = User.objects.get(id=client_reference_id)

使用以下内容:

User = get_user_model()
user = User.objects.get(id=client_reference_id)

这篇关于自定义用户模型&(Django)出现条带化&WebHook&错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆