I am trying to register my custom user model to the admin site (I have name my custom user model User
), but I am getting this error.
as I understood that I should unregister the original User model then register my custom model and this what I have tried to do!!
---------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)
CodePudding user response:
You need to modify INSTALLED_APPS block
You need add below string Instead of just "users"
**'users.apps.UsersConfig'**
Users- your app name apps - one file would be created in your app folder Userconfig - config function in your apps.py file.
CodePudding user response:
this error disappear by importing PermissionsMixin
and pass it to my custom user model class as a second argument in model.py
file and it worked
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)