Python 使用SimpleListFilter的通用筛选器
我正在定制一个过滤器,但将其保留为通用的,但只能用于案例 我必须创建多个过滤器,但只想使用一个类。我可以创建一个类用于不同类型的过滤器Python 使用SimpleListFilter的通用筛选器,python,django-admin,django-admin-filters,Python,Django Admin,Django Admin Filters,我正在定制一个过滤器,但将其保留为通用的,但只能用于案例 我必须创建多个过滤器,但只想使用一个类。我可以创建一个类用于不同类型的过滤器 class MyModelCustomizeFilter(admin.SimpleListFilter): title = u'' #It can be parameterized? parameter_name = u'' #It can be parameterized? def lookups(self, request, model_admin):
class MyModelCustomizeFilter(admin.SimpleListFilter):
title = u'' #It can be parameterized?
parameter_name = u'' #It can be parameterized?
def lookups(self, request, model_admin):
return (
('1', ('Activated')), #It can be parameterized?
('0', ('Negate')),
('all', ('All')),
)
def choices(self, cl):
for lookup, title in self.lookup_choices:
yield {
'selected': self.value() == lookup,
'query_string': cl.get_query_string({
self.parameter_name: lookup,
}, []),
'display': title,
}
def queryset(self, request, queryset):
if self.value() in ('0', '1'):
return queryset.filter(status=self.value())
elif self.value() == None:
return queryset.filter(status=None)
我可以参数化参数\u名称、标题和值查找