python - 如何在 django 中使用不同的表注册不同类型的用户?
问题描述
我是 django 的新手,我想为不同的用户(如学生、教学人员、非教学人员、3 个表)使用不同的表注册用户。
我该怎么做而不是使用默认的 auth_users 表进行注册
解决方案
在 Django 中,您通常应该只有一个 User 模型。这样,跨用户类型的通用功能(例如,登录和注销)都可以通过引用数据库中的同一组表来执行。
如果您想注册不同的用户类型,您有几个不同的选项。您可以扩展默认用户模型并创建具有唯一属性的子类(有关如何执行此操作的更多信息,请参阅 Django 文档:https ://docs.djangoproject.com/en/2.1/topics/auth/customizing/#扩展现有用户模型);或者,您可以创建自己的自定义用户模型,该模型具有将用户标记为学生、教学人员或非教学人员的开关(请参阅 Django 文档:https ://docs.djangoproject.com/en/2.1/topics /auth/customizing/#substituting-a-custom-user-model)。或者,您也可以将用户添加到组中,并根据他们所在的组授予他们不同的权限。
这些方法中的任何一种都可以工作,但归根结底,您的所有用户模型都应该放在一个总体大师班下。
推荐阅读
- apache-spark - Calcite JDBC-Spark 集成
- microservices - 审核多个微服务中各种用户操作的日志记录
- rest - 对于有助于决策的 REST 端点来说,什么是一个好的实践
- python - 我们如何从 Python 执行以下命令提示符脚本
- html - 如何将 d3 可缩放旭日形图中的最后一个节点作为超链接?
- android - 在运行时创建的按钮如何在每个 clicklistener 上设置?
- postgresql - 如何修复 org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; 糟糕的 SQL 语法
- android - 在 ubuntu 中运行本机应用程序时出错
- python - 使用 .apply() 清理数据框中的电子邮件 - 数据框未更新
- python - get_tk_widget() 框架周围的边框