将您的values
条款放在之前annotate
。
从聚合文档:
如果values()子句位于annotate()之前,则将使用values()子句描述的分组来计算注释。
但是,如果annotate()子句位于values()子句之前,则将在整个查询集上生成注释。在这种情况下,values()子句仅约束在输出中生成的字段。
因此,应该这样做:
Meetup.objects.values('language').annotate(latest_date=Max('date'))
Django ORM-获取组的最新记录
将您的values
条款放在之前annotate
。
从聚合文档:
如果values()子句位于annotate()之前,则将使用values()子句描述的分组来计算注释。
但是,如果annotate()子句位于values()子句之前,则将在整个查询集上生成注释。在这种情况下,values()子句仅约束在输出中生成的字段。
因此,应该这样做:
Meetup.objects.values('language').annotate(latest_date=Max('date'))