【发布时间】:2015-02-26 02:50:52
【问题描述】:
我的 Django 模型:
class MyModel(models.Model):
a = IntegerField()
b = IntegerField()
我想编写一个查询集来回答以下问题:“对于a 的每个不同值,b 的最小值、最大值和平均值是多少?”
我该怎么做?
SQL 看起来像这样:
SELECT a, min(b), max(b), avg(b) FROM MyModel group by a
但我不知道如何使用 aggregate 和 annotate 方法来实现它。文档中的所有示例都展示了在对分组所在的同一变量进行平均时如何使用这些方法。
【问题讨论】:
-
只使用原始查询。更擅长 django 的人可能会回答,但现在可能最容易做到。
标签: django django-models django-queryset