我正在使用具有 DateTimeField(auto_now_add=True) 的类似文章的模型来捕获发布日期 (pub_date)。这看起来类似于以下内容:
class Article(models.Model):
text = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)
我想做一个查询,计算每天添加了多少文章帖子或条目。换句话说,我想查询条目并按天(最终按月、小时、秒等)对它们进行分组。这在 SQLite shell 中看起来类似于以下内容:
select pub_date, count(id) from "myapp_article"
where id = 1
group by strftime("%d", pub_date)
;
它返回如下内容:
2012-03-07 18:08:57.456761|5
2012-03-08 18:08:57.456761|9
2012-03-09 18:08:57.456761|1
我似乎无法弄清楚如何从 Django QuerySet 中获得该结果。我知道如何使用 itertools.groupby 获得类似的结果,但在这种情况下这是不可能的(解释如下)。
此查询的最终结果将用于显示每天帖子数量的图表。我正在尝试使用Django Chartit包来实现这一目标。Chartit 对数据源 (DataPool) 施加了约束。源必须是模型、管理器或查询集,所以据我所知,使用 itertools.groupby 不是一个选项。
所以问题是...... 我如何按天对条目进行分组或聚合并最终得到一个 QuerySet 对象?