A ModelAdmin for a slightly customized Django User model
This ModelAdmin will add your extra fields to the bottom of the page:
from __future__ import unicode_literals
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import AbstractUser
from django.utils.translation import ugettext_lazy as _
from .models import User
class UserAdminWithExtraFields(UserAdmin):
def __init__(self, *args, **kwargs):
super(UserAdminWithExtraFields, self).__init__(*args, **kwargs)
abstract_fields = [field.name for field in AbstractUser._meta.fields]
user_fields = [field.name for field in self.model._meta.fields]
self.fieldsets = self.fieldsets + (
(_('Extra fields'), {
'fields': [field for field in user_fields if field not in abstract_fields and field != self.model._meta.pk.name],
}),
)
admin.site.register(User, UserAdminWithExtraFields)