我想基于外键注释一个查询集,即
class A(models.Model):
name = models.CharField(max_length=200)
class B(models.Model):
value = models.IntegerField()
a = models.ForeignKey(A)
我想使用B
对Max
查询集进行注释,但每个Max
都会被过滤为a
外键。
我有一种感觉,我必须过滤掉我想要的外键,然后注释。
qs = B.objects.filter(a=some_specific_instance_of_A).annotate(max_value=Max('value'))
但是想做点什么
qs = B.objects.annotate(max_value=Max('value'), key='a')
答案 0 :(得分:1)
在注释之前使用values
子句进行分组。
qs = B.objects.values('a').annotate(max_value=Max('value'))