[Solved]-AbstractUser Django full example


You have confused yourself a bit here. The idea of subclassing AbstractUser – and defining AUTH_USER_MODEL as your subclass – is that the new model completely replaces auth.models.User. You shouldn’t be importing the original User at all, and you certainly should be calling User.objects.create_user(): your new model’s manager now has its own create_user method.

Because of this, there’s no reason to muck about with inline admins. Your UserProfile should be registered in the admin using the existing django.contrib.auth.admin.UserAdmin class.


Inlines forms assume that you have a Generic ForeignKey on your model, in this case, the UserProfileAdmin expect a Generic ForeignKey of the UserProfile, that does not exists. Try to do a regular Model Admin, like:

class UserProfileAdmin(admin.ModelAdmin):
    can_delete = False
    verbose_name_plural = 'userprofile'

admin.site.register(UserProfile, UserProfileAdmin)

Leave a comment