2

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

到目前为止,我所读到的是,我可以扩展 django 的 User 内置模型,以便我可以使用 django 的身份验证过程,并创建另一个与该用户模型一对一链接的模型。但实际上我有点看不懂。

我的应用程序具有三种用户类型:参与者、管理员、法官,他们每个人都将查看某些页面(模板)以及权限。

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

注意:将来,每个用户可能有不同的字段,例如。法官可能有加入日期,而参与者不会...等

4

1 回答 1

1

如果您还没有,文档似乎提到了您正在尝试做的事情。

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

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

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

希望这可以帮助。

于 2018-03-16T11:34:19.270 回答