我对 Django 框架工作非常陌生,需要更多的见解。我目前正在构建一个具有两种用户类型的项目。示例是教师和学生类型的应用程序。主要区别在于我希望其中一个用户拥有付费层。 示例:我很想拥有它,以便老师只有在付费的情况下才能登录。
我的另一个问题是。 在意识到AbstractUser可能是一个更好的解决方案之前,我已经在做这个项目了。
-
我可以在这种类型的设置中使用OnetoOneModels来使用AbstractUser吗?
-
我发现文档说最好在进行任何迁移之前使用AbstractUser,我将如何更改我的项目以适应这些新要求"如果AbstractUser是最好的"?如果没有简单的方法,我不会重新开始以使其正确。
安德鲁
您可以从 AbstractUser 继承自定义用户模型,并在其中添加自定义字段。
from django.contrib.auth.models import AbstractUser
class MyUser(AbstractBaseUser):
...
date_of_birth = models.DateField()
height = models.FloatField()
例如,对于用户类型,您可以添加外键字段:
user_type = models.ForeignKey(
UserType,
on_delete=models.SET_NULL
)
或者你可以添加一些布尔字段:
is_paid_tier_user = models.BooleanField(default=True)