【问题标题】:Django max based on foreign key querysetDjango max 基于外键查询集
【发布时间】:2015-07-30 08:24:59
【问题描述】:

我想根据外键注释查询集,即

class A(models.Model):
    name = models.CharField(max_length=200)

class B(models.Model):
    value = models.IntegerField()
    a = models.ForeignKey(A)

我想用Max 注释B 查询集,但每个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')

【问题讨论】:

    标签: python django django-queryset annotate


    【解决方案1】:

    在注释之前使用values 子句进行分组。

    qs = B.objects.values('a').annotate(max_value=Max('value'))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-10
      • 2015-03-09
      • 1970-01-01
      • 2015-01-25
      • 2011-12-25
      • 2013-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多