【发布时间】:2015-11-10 01:04:10
【问题描述】:
我正在使用 Python 3.4.3 和 Django 1.8 构建一个全新的 Web 项目,到目前为止没有进行任何迁移。对于该项目,我正在一个名为users 的应用程序中创建一个继承自AbstractBaseUser 的自定义用户。如doc 中所述,在创建任何迁移之前,我还正确地将AUTH_USER_MODEL 引用到settings.py 中的自定义用户。
但是,当我尝试运行 python manage.py makemigrations users 或 python manage.py migrate 时,控制台会报告 ValueError: Dependency on unknown app: users。
我很确定我的自定义用户模型代码是正确的,因为我遵循了文档的示例代码,还因为当我注释掉 AUTH_USER_MODEL 时,除了 Django 为默认用户模型创建表之外,其他一切都正常,这是预期的。
documentation 中提到:
您必须确保 AUTH_USER_MODEL 引用的模型是在其应用程序的第一次迁移中创建的(通常称为 0001_initial);否则,您将遇到依赖问题。
我不太确定这到底是什么意思。这是否意味着我必须为我的users 应用手动创建迁移?如果是这样,我应该怎么做?
非常感谢任何建议或重定向到可靠来源!非常感谢您!
【问题讨论】:
-
你先运行 ./manage.py migrate 了吗?
-
嗨@levi!非常感谢您的快速回复!文档说“如果你打算设置
AUTH_USER_MODEL,你应该在创建任何迁移或第一次运行manage.py migrate之前设置它。”因此我没有先运行./manage.py migrate。那是我应该做的事情吗?但是,运行./manage.py migrate会为默认用户模型创建表,这不是我想要的。我想我的问题是:如何在第一次迁移中创建模型而不为默认用户创建表?谢谢!
标签: python django django-authentication django-users django-custom-user