Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.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
Python 扩展用户模型Django 2.0_Python_Django_Django 2.0 - Fatal编程技术网

Python 扩展用户模型Django 2.0

Python 扩展用户模型Django 2.0,python,django,django-2.0,Python,Django,Django 2.0,我正在使用Django 2.0和python启动一个全新的项目,因此我正在开始决定如何实现多个用户类型 到目前为止,我读到的是,我可以扩展django的用户内置模型,以便使用django的身份验证过程,并创建另一个与该用户模型一一链接的模型。但实际上我一点也不懂 我的应用程序有三种用户类型:参与者、管理员、法官,每种用户类型都将查看特定页面(模板)和权限。 有人能为我提供开始处理这些用户类型的最佳实践/方法吗 注意:在将来,每个用户可能有不同的字段,例如,Judge可能有加入日期,而参与者不会…

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

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

我的应用程序有三种用户类型:参与者、管理员、法官,每种用户类型都将查看特定页面(模板)和权限。

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


注意:在将来,每个用户可能有不同的字段,例如,Judge可能有加入日期,而参与者不会……等等,如果您还没有,则可能会提到您正在尝试做的事情

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

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

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

希望这能有所帮助。

Django已经有了用户“组”,这可能是最好的方式,因为您可以同时拥有管理员和评判用户。每个组都有描述该组用户可以做什么的许可证。不,我不会同时有一个判断和管理的用户,我指的是多个用户类型,就是我的组中有不同的用户类型application@OmarEl-埃拉米:旗子场怎么样?查看
django位域
您能详细说明@greesha0吗?权限也主要基于组而不是用户