Register custom user model with admin auth Register custom user model with admin auth python python

Register custom user model with admin auth


class User(AbstractUser):    class Meta:    app_label = 'auth'

This can solve your problem but may cause some errors when you migrate your app. The other hack is define get_app_list in your AdminSite.


I think what you're looking for is replacing the django user model. To do this, see the answer on this post: Extending the User model with custom fields in Django. I would suggest going the extending route, but that would mean both parent and child model would have to be registered.

If you really want one single model, just set the AUTH_USER_MODEL setting to your model. This essentially replaces the default model.

In your settings.py:

AUTH_USER_MODEL = "appname.UserModelName"

For more info on replacing the user model, see https://docs.djangoproject.com/en/dev/topics/auth/customizing/#substituting-a-custom-user-model.


In admin.py use

from django.contrib.auth.admin import UserAdminfrom django.contrib.auth.models import UserUserAdmin.list_display = ('email', 'first_name', 'last_name', 'is_active', 'date_joined', 'is_staff')admin.site.register(User, UserAdmin)