我有一个模型叫Person,Person有名字/姓氏和年龄等字段,现在我想实现的是在django admin中有一个过滤器,可以过滤一些自定义范围的年龄,比如10-15。
在阅读了一些帖子后,我最好的拍摄是:
class RangeFilter(SimpleListFilter):
title = 'Age filter'
parameter_name = 'age'
def lookups(self, request, model_admin):
return [
(1, '0-5'),
(2, '5-10'),
(3, '10-15'),
(4, '15-20')]
def queryset(self, request, queryset):
filt_age = request.GET.get('age')
return queryset.filter(
age__range=self.age_dict[filt_age]
)
但这会产生错误“RangeFilter”对象没有属性“age_dict”。
3条答案
按热度按时间cqoc49vn1#
你的意思大概是:
jaxagkaj2#
很难猜出你想做什么,我的尝试是:
k4aesqcs3#
我不知道你想做什么,但我给你下面的例子来过滤人的年龄以下的文件:
然后,过滤器部分出现,有5个人,如下所示:
然后点击
20-39 year
,5人过滤为3人,如下图所示: