两种模式:
project(models.Model):
name = models.CharField...
yearreport((models.Model)
year = [2014,2015,2016] #example
project = models.ForeignKey(project)
""" examples:
Project A has reports for 2014
Project B has reports for 2014,2015
Project C has reports for 2014,2015,2016
"""
我现在想为Django Admin构建一个SimpleListFilter, 筛选项目具有的最高/最新报告。 例如,如果我过滤2015年只有项目B应该显示。 (使用普通过滤器,此请求也会显示C,我不想要)
我尝试了一些时髦的东西......
queryset.filter(Max('yearreport__year')==self.value()))
但我只是因为不知道语法而迷失了......
请求结束我的猜谜游戏:)谢谢
答案 0 :(得分:0)
我认为这应该有效:
queryset.annotate(
max_year=Max('yearreport__year')
).filter(
yearreport__year=max_year
)