2

所以我的模型是这样的:

class Blog(models.Model):
    title = models.CharField(max_length=100)
    publication_date = models.DateField()

现在我想按月统计博客文章的数量。原始 sql 看起来像:

SELECT COUNT (*), EXTRACT(MONTH FROM publication_date) AS month FROM blog GROUP BY month;

我在这里找到了一个解决方案,它建议先获取一个日期列表,然后filter在每次迭代中循环使用它。我不喜欢它,我正在寻找一种不使用循环来获得结果的方法。

4

1 回答 1

1

您可以使用一些东西来Blog.objects.filter(publication_date__range=[start_of_month, end_of_month])获取这两个日期之间的所有项目。详见范围

于 2012-11-22T10:46:15.273 回答