【发布时间】:2018-10-15 04:43:13
【问题描述】:
什么是我的AUTH_USER_MODEL的正确说法是什么?
我有以下套装:
文件夹结构:
--- 后端
----- api
-------- 型号
------------ 用户.py
user.py 位于 models 文件夹中
在 settings.py 中:
AUTH_USER_MODEL = 'myapp.User'
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'api',
]
型号:
class User:
class Meta:
app_label = "myapp"
当我运行任何 manage.py 命令时,例如
python manage.py showmigrations
我收到此错误:
LookupError: 没有安装标签为“myapp”的应用程序。
问题的解决方案是将 api 文件夹重命名为 myapp,由于模型名称的某些限制,我无法这样做。
或者将 AUTH_USER_MODEL 设置为 api.User,但这会导致所有数据表名称发生变化,并且必须保持不变
以“myapp_”开头的数据表名称不应更改
【问题讨论】:
-
如果模型在 api 应用程序中,我不明白你为什么放“myapp.User”而不是“api.User”。
-
@DanielRoseman 我有理由:如果我更改为“api.User”,那么我将需要更新所有迁移并更改所有表名,这在生产中是不可取的。问题出在迁移中
-
不,问题出在您的 AUTH_USER_MODEL 设置中。
-
还有你的
manage.py在哪里或者你的项目的根在哪里?是backend吗? -
@trixn 是的,后端是根,
manage.py位于backend文件夹中
标签: django python-3.x