【问题标题】:About change AUTH_USER_MODEL and customize the built-in User model关于更改 AUTH_USER_MODEL 并自定义内置 User 模型
【发布时间】:2015-07-12 10:17:11
【问题描述】:

文档说“如果你打算设置 AUTH_USER_MODEL,你应该在创建任何迁移或第一次运行 manage.py migrate 之前设置它。”。
所以我想仔细检查一下,是否可以更改数据库设置的内置用户模型?

【问题讨论】:

    标签: django django-models django-authentication


    【解决方案1】:

    您可以创建自己的用户模型,而不是更改内置用户模型。这就是AUTH_USER_MODEL 所做的。它告诉 django 使用 your 用户模型作为默认用户模型,而不是默认的 django.contrib.auth.models.User

    您应该在项目开始时执行一次,然后坚持您的设置;因为此设置对框架的许多其他领域都有影响。这就是文档中出现警告的原因。

    【讨论】:

    • 感谢您的回复。问题是我意识到内置的用户模型并不能满足我们的需求,只是在之前的一些工作之后。所以现在创建另一个用户模型为时已晚?
    • 这取决于数据库中存在的数据。当您将用户模型更改为自定义模型时,它将创建新的数据库表,因此默认 Django auth_user 表中的任何行都不会移动。这也可以在其他表中创建孤立的行,除非您对手动处理数据感到满意。如果您可以从新数据方面开始,那么您就可以了,例如,如果您还没有投入生产。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    相关资源
    最近更新 更多