我想将此查询从 SQL 放入 Django:
"select date_format(date, '%Y-%m') as month, sum(quantity) as hours from hourentries group by date_format(date, '%Y-%m') order by date;"
导致问题的部分是聚合时按月分组。我尝试了这个(这似乎合乎逻辑),但它不起作用:
HourEntries.objects.order_by("date").values("date__month").aggregate(Sum("quantity"))
aggregate
只能产生一个聚合值。
您可以通过以下查询获取当月的小时总数。
from datetime import datetime
this_month = datetime.now().month
HourEntries.objects.filter(date__month=this_month).aggregate(Sum("quantity"))
因此,要获取 HourEntry 所有月份的聚合值,您可以循环数据库中所有月份的查询集。但最好使用原始sql。
HourEntries.objects.raw("select date_format(date, '%Y-%m') as month, sum(quantity) as hours from hourentries group by date_format(date, '%Y-%m') order by date;")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)