from django.contrib import admin from django.http.request import HttpRequest from .models import User from django.contrib.auth.admin import UserAdmin from .forms import UserAdminCreationForm,UserAdminUpdateForm # Register your models here. # class MyUserAdmin(UserAdmin): class MyUserAdmin(admin.ModelAdmin): search_fields=('email','username') ordering=('-joining_date',) list_display = ('email','username','joining_date','is_active','is_staff','is_superuser') # fieldsets=((None,{'fields':('email','username')}), # (None,{'fields':('password',)})) form = UserAdminUpdateForm add_form = UserAdminCreationForm # not a native ModelAdmin attribute add_fieldsets=((None,{"fields":('username','email','password','confirm_password')}), ("Authority",{"fields":('is_staff','is_superuser')}), ) # overriding def get_fieldsets(self, request, obj=None,**kwargs): if obj is None: return self.add_fieldsets return super().get_fieldsets(request,obj) # overriding def get_form(self,request,obj=None, **kwargs): # using this method to register add_form defaults={} if obj is None: defaults["form"]=self.add_form defaults.update(**kwargs) return super().get_form(request,obj,**defaults) admin.site.register(User,MyUserAdmin)