This part of the project documentation focuses on a problem-oriented approach. You’ll tackle common tasks that you might have, with the help of the code provided in this project.
Consider the scenario below:
from django.contrib.auth import get_user_model
from django.contrib import admin
User = get_user_model()
@admin.register(User)
class MyUserAdmin(admin.ModelAdmin):
list_filter = ("is_staff", "is_superuser")
If you want to organize better the changelist page you can add a set of tabs that applies filter and changes the list of data showed, like you do in a django’s list_filter feature.
admin_filters.py
or just filters.py
module.from admin_tabs import TabFilter, tab
class UserTabFilter(TabFilter):
@tab()
def is_staff(self, request, queryset):
return queryset.filter(is_staff=True)
@tab(label="Super-users")
def is_superuser(self, request, queryset):
return queryset.filter(is_superuser=True)
from admin_tabs import TabFilterAdmin
from django.contrib.auth import get_user_model
from django.contrib import admin
from . import filters
User = get_user_model()
@admin.register(User)
class MyUserAdmin(TabFilterAdmin, admin.ModelAdmin):
tab_filter = filters.UserTabFilter
list_filter = ("is_staff", "is_superuser")