【问题标题】:How to create multiple user models with choices?如何创建具有选择的多个用户模型?
【发布时间】:2019-09-07 02:01:50
【问题描述】:

我有不同类型的用户,并为每个用户类型创建了模型。每个人的注册都不同.. 现在我想根据用户选择或类型在注册页面选择模型。例如,如果有人选择学生,那么应该出现一个具有不同表单字段的注册页面。就像我必须为每个用户类型做的那样。是否可以通过类中的 if else 方法选择选项并选择不同的用户模型根据选择??

【问题讨论】:

    标签: django-models multiple-users


    【解决方案1】:

    尚不清楚您的用户类是否共享一个公共基类,但我认为这很重要。该文档有很多关于using a custom user model 的信息。但是,我建议阅读 this post,并使用选项 2:将一对一链接与用户模型(配置文件)一起使用

    什么是一对一链接?这是一个常规的 Django 模型 拥有自己的数据库表,并将保持一对一的关系 通过 OneToOneField 使用现有的用户模型。

    我什么时候应该使用一对一链接?您应该使用一对一链接 当您需要存储有关现有用户模型的额外信息时 这与身份验证过程无关。我们通常称它为 用户资料。

    【讨论】:

    • 我需要的是根据用户类型选择一个类。如果选择的是学生,那么应该出现学生类。如何在我们的models.py中实现这个??
    • 在不了解所有细节的情况下很难确定,但我认为您最好坚持使用 Django Auth 使用的非常简单的 User 类,然后为您的特定功能创建一个 Student 类与用户具有外键或一对一关系。
    • 如何为每种用户类型创建一个应用程序并在那里创建用户模型?因为我将为每种用户类型提供不同的功能......
    猜你喜欢
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多