Python Django查询,带有平均值和分组依据
目前我正在执行:Python Django查询,带有平均值和分组依据,python,mysql,sql,django,django-1.4,Python,Mysql,Sql,Django,Django 1.4,目前我正在执行: 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__gt
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>'))
Model.objects.filter(开始时间=).aggregate(平均(“”))
但这适用于查询中的所有对象,不会像上面的原始SQL那样返回按id分组的查询集。我一直在摆弄.annotate(),但进展不大。任何帮助都将不胜感激 Model.objects.filter(start_time_ugte=).values().annotate(average=Avg())对吗?这个新查询看起来不错,但是有没有一种简单的方法可以让结果为{average,name}而不是{average,id},其中name是与这个id关联的对象的名称?