Django.contrib.admin.sites.NotRegistered: Модель Пользователь не зарегистрирована
Я пытаюсь зарегистрировать свою пользовательскую модель пользователя на сайте администратора (я назвал свою пользовательскую модель пользователя User
), но я получаю эту ошибку.
Как я понял, я должен отменить регистрацию оригинальной модели пользователя, а затем зарегистрировать мою пользовательскую модель, что я и попытался сделать!!!
---------setings.py-------
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'users', # This is custom user model
]
AUTH_USER_MODEL = 'users.User'
---------users/admin.py-------
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User as MyUser # my Custom User Model
from django.contrib.auth.models import User
admin.site.unregister(User)
class MyUserAdmin(UserAdmin):
list_display = ('username', 'email')
admin.site.register(MyUser,MyUserAdmin)
Вам необходимо изменить блок INSTALLED_APPS
Вам нужно добавить следующую строку вместо просто "users"
**'users.apps.UsersConfig'**
Users - имя вашего приложения apps - один файл будет создан в вашей папке app Userconfig - функция конфигурации в вашем файле apps.py.
эта ошибка исчезла, если импортировать PermissionsMixin
и передать его в мой пользовательский класс модели пользователя в качестве второго аргумента в model.py
файле, и это сработало
from django.contrib.auth.models import PermissionsMixin
class User(AbstractBaseUser,PermissionsMixin):
username = models.CharField(max_length=50, unique=True)
email = models.EmailField(max_length=100, unique=True)
first_name = models.CharField(max_length=50, null=True, blank=True)