【发布时间】:2017-10-22 22:02:16
【问题描述】:
我的模型如下所示:
class PostMetric(models.Model):
likes = models.IntegerField()
comments = models.IntegerField()
created_at = models.DateTimeField(auto_now_add=True)
我想获得每天的喜欢和 cmets 的总和(请注意,我需要将 datetimefield 转换为 datefield(可能使用 Cast?):
date engagement (likes+comments)
2/5/2017 26
3/5/2017 29
我尝试使用:Cast、annotate、aggregation 甚至 rawsql 和 extra/select 函数,但没有成功。
我认为我需要添加基于此查询的聚合:
PostMetric.annotate(engagement=Sum('likes') + Sum('comments')).annotate(date_only=Cast('created_at', DateField()))
【问题讨论】:
-
请张贴你最好的照片
-
@e4c5 : 我编辑了我的帖子
-
阅读此doc
-
感谢@Gahan 的建议,但在阅读本文之前我不会问
标签: sql django postgresql django-models django-orm