python - Django Admin:应用程序部分而不是身份验证部分中的自定义用户模型
问题描述
与问题 36046698 一样,我在models.py
.
我希望它出现在Authentication & Authorization
Django Admin 的部分中。
我尝试按照建议添加 app_label = 'auth' ,即
class CustomUser(AbstractUser):
class Meta:
app_label = 'auth'
当我这样做时,我的应用程序将无法启动,并且错误如下:
Traceback (most recent call last):
File "/Users/paul/myapp/.direnv/python-3.8.5/lib/python3.8/site-packages/django/apps/config.py", line 178, in get_model
return self.models[model_name.lower()]
KeyError: 'customuser'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/paul/myapp/.direnv/python-3.8.5/lib/python3.8/site-packages/django/contrib/auth/__init__.py", line 157, in get_user_model
return django_apps.get_model(settings.AUTH_USER_MODEL, require_ready=False)
File "/Users/paul/myapp/.direnv/python-3.8.5/lib/python3.8/site-packages/django/apps/registry.py", line 211, in get_model
return app_config.get_model(model_name, require_ready=require_ready)
File "/Users/paul/myapp/.direnv/python-3.8.5/lib/python3.8/site-packages/django/apps/config.py", line 180, in get_model
raise LookupError(
LookupError: App 'myapp' doesn't have a 'CustomUser' model.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "manage.py", line 21, in <module>
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "/Users/paul/myapp/.direnv/python-3.8.5/lib/python3.8/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
....
File "/Users/paul/myapp/myapp/admin.py", line 3, in <module>
from django.contrib.auth.admin import UserAdmin
File "/Users/paul/myapp/.direnv/python-3.8.5/lib/python3.8/site-packages/django/contrib/auth/admin.py", line 6, in <module>
from django.contrib.auth.forms import (
File "/Users/paul/myapp/.direnv/python-3.8.5/lib/python3.8/site-packages/django/contrib/auth/forms.py", line 21, in <module>
UserModel = get_user_model()
File "/Users/paul/myapp/.direnv/python-3.8.5/lib/python3.8/site-packages/django/contrib/auth/__init__.py", line 161, in get_user_model
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: AUTH_USER_MODEL refers to model 'myapp.CustomUser' that has not been installed
中settings.py
,我有
AUTH_USER_MODEL = 'myapp.CustomUser'
如果我注释掉该行,服务器将启动,但页面加载失败:
ValueError: Cannot create form field for 'user' yet, because its related model
'CustomUser' has not been loaded yet
这似乎与问题 62394664相同的崩溃。
解决方案
好像您忘记迁移数据库了。试试这个命令
python manage.py makemigrations python manage.py migrate
推荐阅读
- assembly - 翻转线订单汇编 32bit
- c# - 在其他参数函数中调用一个函数及其参数
- python - 在多个队列中注册的 Celery 任务
- node.js - 加速 Node.js 项目的编译
- mysql - 如何选择两个连接的列?
- php - 使用php将图像从android上传到服务器
- javascript - 如何在 Vue.js 中对数组属性的子部分进行分页?
- evernote - 如何安装 Evernote SDK for Python
- spring - 在代理/zuul-gateway 中托管 zipkin
- css - 如何对 Android 的 Chorme 说我的页面需要 @media 条件指令?