如何按日期分组查询并将其他2个字段相加

时间:2017-05-23 05:33:27

标签: sql django postgresql django-models django-orm

我的模型看起来像这样:

   date       engagement (likes+comments)
 2/5/2017         26
 3/5/2017         29

我想得到每天的喜欢和评论的总和(注意我需要将datetimefield转换为datefield(可能使用Cast?):

PostMetric.annotate(engagement=Sum('likes') + Sum('comments')).annotate(date_only=Cast('created_at', DateField()))

我尝试使用:Cast,annotate,aggregate甚至rawsql和extra / select函数但没有成功。

我认为我需要添加基于此查询的聚合:

{{1}}

1 个答案:

答案 0 :(得分:1)

如果您想模拟group_by查询,则可以使用.values方法。

PostMetric.objects.values('created_at').annotate(engagement=Count('likes')+Count('comments')