Django 具有付费系统的多用户类型



我对 Django 框架工作非常陌生,需要更多的见解。我目前正在构建一个具有两种用户类型的项目。示例是教师和学生类型的应用程序。主要区别在于我希望其中一个用户拥有付费层。 示例:我很想拥有它,以便老师只有在付费的情况下才能登录。

我的另一个问题是。 在意识到AbstractUser可能是一个更好的解决方案之前,我已经在做这个项目了。

  1. 我可以在这种类型的设置中使用OnetoOneModels来使用AbstractUser吗?

  2. 我发现文档说最好在进行任何迁移之前使用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) 

最新更新