使用AVG和GROUP BY进行Django查询

时间:2014-07-16 23:29:31

标签: python mysql sql django django-1.4

我的Django-foo在将某些原始sql转换为ORM方面并不完全可以。

目前我正在执行:

SELECT avg(<value_to_be_averaged>), <id_to group_on> 
FROM <table_name> 
WHERE start_time >= <timestamp> 
GROUP BY <id_to group_on>;

在Django,我可以做到:

Model.objects.filter(start_time__gte=<timestamp>).aggregate(Avg('<value_to_be_averaged>'))

但是这适用于查询中的所有对象,并且不会像上面的原始SQL中那样返回按ID分组的查询集。我一直在摆弄.annotate(),但没有取得多大进展。任何帮助将不胜感激!

0 个答案:

没有答案