Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django具有付费系统的多种用户类型_Django_Django Models - Fatal编程技术网

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

Django具有付费系统的多种用户类型,django,django-models,Django,Django Models,我对Django框架非常陌生,需要更多的洞察力。我目前正在建设一个项目,有两种用户类型。例如,教师和学生类型的应用程序。主要的区别是我希望其中一个用户拥有付费层。 示例:我希望有它,这样老师只有在付费的情况下才能登录 我的另一个问题是。 在意识到AbstractUser可能是一个更好的解决方案之前,我已经在做这个项目了 我可以使用AbstractUser和OneToNodeModel进行这种类型的设置吗 我发现文档中说在进行任何迁移之前最好使用AbstractUser,如果AbstractUse

我对Django框架非常陌生,需要更多的洞察力。我目前正在建设一个项目,有两种用户类型。例如,教师和学生类型的应用程序。主要的区别是我希望其中一个用户拥有付费层。 示例:我希望有它,这样老师只有在付费的情况下才能登录

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

  • 我可以使用AbstractUser和OneToNodeModel进行这种类型的设置吗

  • 我发现文档中说在进行任何迁移之前最好使用AbstractUser,如果AbstractUser是最好的,我将如何改变我的项目以适应这些新的需求?如果没有简单的解决办法,我不会放弃重新开始去做正确的事情


  • Andrew

    您可以从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) 
    

    谢谢我最终在Django文档中找到了更多配置AbstractUser的内容。我感谢你的帮助!