Saq*_*Ali 4 django django-models django-queryset
我的Django模型:
class MyModel(models.Model):
a = IntegerField()
b = IntegerField()
Run Code Online (Sandbox Code Playgroud)
我想写一个回答以下问题的查询集:"对于每个不同的值a
,什么是最小值,最大值和平均值b
?"
我该怎么做?
SQL看起来像这样:
SELECT a, min(b), max(b), avg(b) FROM MyModel group by a
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何使用aggregate
和annotate
方法.文档中的所有示例都显示了在对要分组的同一变量进行平均时如何使用这些方法.
ale*_*cxe 11
您可以使用Django聚合框架:
from django.db.models import Max, Min, Avg
MyModel.objects.values('a').annotate(Min('b'), Max('b'), Avg('b'))
Run Code Online (Sandbox Code Playgroud)
values('a')
这里的部分基本上是指"分组".
归档时间: |
|
查看次数: |
8080 次 |
最近记录: |