Spaces:
Sleeping
Sleeping
| 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) |