我对Django有很好的了解,但找不到正确的解决方法:
我创建了一个将在多个移动项目中使用的API。所以我实现了一个应用程序模型,当我登录时会传递这个模型。你知道吗
我还创建了一个自定义用户模型:
class CustomUser(AbstractUser):
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
username = None
email = models.EmailField('email address', unique=True)
application = models.ForeignKey(Application, null=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = []
objects = UserManager()
class Meta:
unique_together = ('email', 'application')
我用的是djangorestframeworkjwt。所以我有一个API调用,需要一封电子邮件、密码和一个应用程序(apikey作为字符串FYI)来获取令牌。你知道吗
一切正常,除了在这个配置中,我无法创建另一个用户使用相同的电子邮件,但不同的应用程序。因为我的EmailField是我的用户名字段。你知道吗
有什么办法可以避免我重写所有的东西吗?你知道吗
我想到的最好的事情是添加一个唯一的字段(例如CharField)(例如用户id+apikey)创建时将自动填充。但当我使用时/管理.pycreatesuperuser,django会要求我手动填充字段。没什么大不了的,但如果你有更好的/合适的方法,我会很高兴的!你知道吗
用manytomany代替foreignkey怎么样:
相关问题 更多 >
编程相关推荐