python - 扩展用户模型 Django 2.0

标签 python django django-2.0

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

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

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

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

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

最佳答案

如果您还没有,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

希望这对您有所帮助。

关于python - 扩展用户模型 Django 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48762849/

相关文章:

python - 将python打印输出保存到变量

python - 使用 dbutils 在 Databricks 中上传后从目录中删除文件

django - 在 Django 模板中使用变量作为字典键

python - Django:电子商务的产品变体

python - 根据 Django 模型中的条件根据需要创建模型字段

python - Pandas (python) : How to add column to dataframe for index?

python - 使用 Python 写入以 MySQL 数据为源的 HTML 文件?

javascript - 如何让我的 django-ckeditor 安装被识别?

python - 使用 django-allauth 在用户注册时创建用户和用户配置文件

python - 可迭代对象和 Django StreamingHttpResponse