list_display和list_filter用于一对多关系的最大值

时间:2019-01-18 09:08:51

标签: django django-admin

Django 1.11.13

class Contract(models.Model):
    title = models.CharField()

class Enddate(models.Model):
    contract = models.ForeignKey(Contract)
    date= models.DateField()

合同可以有多个结束日期。
在django admin中的合同的列表视图中 我尝试显示带有最新/最大日期的列:

def get_enddate(self, obj):
    return Enddate.objects.filter(contract_id=obj.id).aggregate(Max('date'))['date__max']

可以,但是该列不可排序。 我不知道在这种情况下如何使用admin_order_field。

此外,我想与DateRangeFilter一起创建list_filter来过滤合同
根据结束日期的最大值(日期)。类似的主要问题在这里适用。

有什么想法吗?非常感谢。

0 个答案:

没有答案