from django.contrib import admin class SoftDeleteListFilter(admin.SimpleListFilter): title = "Soft Delete Status" parameter_name = "is_deleted" def lookups(self, request, model_admin): return [ ("0", "Active"), ("1", "Deleted"), ] def queryset(self, request, queryset): if self.value() == "0": return queryset.filter(is_deleted=False) if self.value() == "1": return queryset.model.deleted_objects.all() return queryset