Django中的SQL等效组

时间:2014-03-17 08:21:02

标签: django django-views django-queryset

我的表格collection包含以下列

  • collection_id(主键)
  • 金额(IntegerField
  • 日期(DateField

我需要在Django视图中获取每天收集的总金额。必须等同于以下SQL查询。

select sum(amount) from collection group by date

1 个答案:

答案 0 :(得分:0)

您需要使用values()annotate()

Model.objects.values('date').annotate(sum=Sum('amount')).values_list('sum', flat=True)

来自文档的说明

  

Order of annotate() and values() clauses

     

如果values()子句位于annotate()之前,则将使用values()子句描述的分组计算注释。