Django认证模型问题 - AUTH_USER_MODEL未安装

4
尝试调试这个错误,让Django项目运行起来。
ImproperlyConfigured: AUTH_USER_MODEL refers to model 'accounts.User' that has not been installed

跑步。
python manage.py migrate

必须强调的是,我并不是 Python 或 Django 方面的专家 - 我只是继承了别人的项目,现在正在努力让团队正常运行。

我已经按照步骤进行了操作。

install postgres
required modules including south
creating database for postgres

任何帮助调试此问题的指导都将不胜感激。 settings/base.py 包含:
INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS

LOCAL_APPS = (
    'apps.core',
    'apps.accounts',
    'apps.project_tool',
    'apps.internal',
    'apps.external',
)

所以,应用程序 "accounts" 存在,但它要求 AUTH_USER_MODEL = 'accounts.User' - 这是正确的吗?
AUTH_USER_MODEL = 'apps.accounts.User'?

你真的解决了这个问题吗? - Tommaso Barbugli
使用 python manage.py migrate --traceback - benjaoming
1
你是否在将 LOCAL_APPS 分配给 INSTALLED_APP 后覆盖了它?还是发布时更改了顺序? - Mark
这是一个导入问题,请参见 https://dev59.com/0afja4cB1Zd3GeqP3O-p#54429913 - yonatan
3个回答

2
我猜测你的settings.py文件中没有将accounts应用程序添加到INSTALLED_APPS列表中。请注意保留HTML标签。

没有settings.py文件,但有一个名为settings的文件夹,并在其中包含一个名为base.py的文件: - Ian Warner
然后您的项目布局已经被定制。请检查您的 manage.py 文件,查找类似以下行的代码:os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")。而 "myproject.settings" 的值应该给您一个提示,告诉您在哪里查找,而不是在 settings.py 文件中。 - Stefan Kögl
是的 - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings.production") = 所以设置文件夹 - production.py - 可能包括其他文件,如base.py - 所以我认为我正在找对地方。 - Ian Warner
然后你应该在设置目录中找到一个production.py文件。这个文件应该包含我提到的“INSTALLED_APPS”设置。 - Stefan Kögl
嗨,我之前在上面编辑了我的问题,并提供了更多的细节 - 我找到了你提到的所有信息 :) - Ian Warner
“production.py” 是否导入了 “base.py”?你的 “apps/accounts/models.py” 文件中是否包含一个名为 “User” 的类? - Stefan Kögl

1

我知道这是一个老问题,但在找到我的错误之前,我为此问题苦苦挣扎了两天,我的错误是没有遵循模型组织Django Models docs

如果你已经正确地编写了AUTH_USER_MODEL = <app_name>.<user_model>,并且你在INSTALLED_APPS列表中有你的'<app_name>',但你仍然遇到这个错误,那么你的<custom_user>模型(例如User)可能放错了位置。

它需要在以下任一位置定义:

  • <app_name>.models.py

OR

  • <app_name>/models/<arbitrary_name>.py 并且 存在一个包含以下代码行的 <app_name>/models/__init__.py 文件:from .<arbitrary_name> import <custom_user>

在Django 4.2上,重新导出<app_name>/models/<arbitrary_name>.py对我起到了作用。 - undefined

0

你正在使用 South 0.8.3 吗?

请确保你至少在运行 South 0.8.4

GitHub 问题 South 发布 注释


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接