Skip to main content
 首页 » 编程设计

python之Django:创建自定义用户时,ValueError:对未知应用程序的依赖

2024年10月24日34lyhabc

我正在使用 Python 3.4.3 和 Django 1.8 构建一个全新的 Web 项目,目前还没有进行任何迁移。对于该项目,我正在一个名为 users 的应用程序中创建一个继承自 AbstractBaseUser 的自定义用户。在创建任何迁移之前,我还正确地将 AUTH_USER_MODEL 引用到 settings.py 中的自定义用户,如 doc 中所述.

但是,当我尝试运行 python manage.py makemigrations users 或 python manage.py migrate 时,控制台报告 ValueError: Dependency on unknown app:用户。

我非常确定我的自定义用户模型代码是正确的,因为我遵循了文档的示例代码,还因为,当我注释掉 AUTH_USER_MODEL 时,除了 Django 创建的表之外,其他一切都工作正常对于默认用户模型,这是预期的。

在documentation据说:

you must ensure that the model referenced by AUTH_USER_MODEL is created in the first migration of its app (usually called 0001_initial); otherwise, you will have dependency issues.

我不是很清楚这到底是什么意思。这是否意味着我必须为我的 users 应用程序手动创建迁移?如果是这样,我应该怎么做?

我非常感谢任何建议或对可靠来源的重定向!非常感谢您!

请您参考如下方法:

所以在尝试了各种方法解决问题后,发现问题出在一个偶然的错误上。在 users 目录中,我删除了 migrations 目录中的所有文件,包括它的 __init__.py。如果没有__init__.py文件,将抛出ValueError。如果您手动添加 __init__.py 文件,一切都会正常运行。

遇到同样问题的 friend ,祝你好运!