【问题标题】:Custom User profile for Django userDjango 用户的自定义用户配置文件
【发布时间】:2017-02-10 11:27:24
【问题描述】:

Django - 模型扩展与用户配置文件

我想添加一些自定义字段,如下所示

1.ssn 2. is_manager 3. 经理

我有 2 个选择 - 扩展 AbstractBaseUser 要么 根据信号创建用户配置文件并具有 OnetoOne 字段。 哪个更好、面向未来、数据库迁移友好且可维护?

【问题讨论】:

    标签: django


    【解决方案1】:

    Django 文档answers this question 详细:

    如果您希望存储与User 相关的信息,您可以将OneToOneField 用于包含字段的模型以获取更多信息。这种一对一模型通常称为配置文件模型,因为它可能存储有关站点用户的非身份验证信息。

    在您的情况下,添加的字段似乎与身份验证无关,因此您最好的选择是使用用户配置文件方法。出于这种目的,替换自定义用户模型是多余的。

    【讨论】:

    • 知道了。我想我需要一个用户配置文件,否则我需要实现整个用户模型和管理器。
    • Django noob here 但该文档继续说“在启动项目时使用自定义用户模型¶如果您正在启动一个新项目,强烈建议设置自定义用户模型,即使如果默认用户模型对您来说足够了。此模型的行为与默认用户模型相同,但您可以在将来需要时对其进行自定义:"
    • @EdCampion 可以,但是和上面的说法不冲突。它只是说,如果将来情况发生变化,最好做好准备。
    猜你喜欢
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    相关资源
    最近更新 更多