扩展用户模型Django 2.0

时间:2018-02-13 08:56:01

标签: python django django-2.0

我正在使用Django 2.0和python开始一个全新的项目,所以我在决定如何实现多用户类型时就开始了。

到目前为止我所阅读的内容是我可以为django扩展用户内置模型,以便我可以使用django的身份验证过程,并创建另一个链接一对一的模型一个用户模型。但实际上我无法理解一点。

我的应用程序有三种用户类型:Participant,Admin,Judge,每个用户都会查看某些页面(模板)以及权限。

有人可以为我提供开始处理这些用户类型的最佳做法/方法。

注意:将来,每个用户的字段可能与另一个不同,例如。法官可以在参与者赢得等等时加入约会

1 个答案:

答案 0 :(得分:1)

如果您还没有,documentation似乎提到了您要做的事情。

这是一个创建自定义用户模型的example。但我认为你基本上是正确的。您可以使用标准信息(名称,电子邮件等)创建抽象基本用户。然后,您可以创建一个单独的类,它只是一个模型类,然后为您的抽象基本用户设置一个外键,并为该用户添加其他数据。

class User(AbstractBaseUser):
    email = models.EmailField(max_length=255, unique=True)
    # etc

class Judge(models.Model):
    user = models.ForeignKey(User)
    # User specific data

希望这有帮助。