【发布时间】:2020-12-15 04:09:14
【问题描述】:
我有这两个模型:
class Intervencao(models.Model):
.......
class Alvaras(models.Model):
intervencao = models.ForeignKey(Intervencao, related_name='IntervencaoObjects2',on_delete=models.CASCADE)
data_alv = models.DateField(blank=True,null=True,verbose_name="Data do alvaras")
我想在我的 Intervencao.Admin 中添加一个自定义过滤器,对我在 Alvaras 中的最后一条记录进行查询,并检查字段 data_alv 是否为空。我已经让它工作了,但我只想要最后一条记录。
class Dataalv(admin.SimpleListFilter):
title = ('data de alvaras')
parameter_name = 'data_alv'
def lookups(self, request, model_admin):
return (
('yes', 'yes'),
('no', 'no')
)
def queryset(self, request, queryset):
value = self.value()
if value == 'yes':
return queryset.filter(IntervencaoObjects2__data_alv__isnull=False)
elif value == "no":
return queryset.filter(IntervencaoObjects2__data_alv__isnull=True)
class IntervencaoAdmin(admin.ModelAdmin):
list_filter = Dataalv,
【问题讨论】:
标签: django django-admin django-admin-filters