如何使用项目.计数()来自按日期时间字段排序的查询集

2024-10-02 12:33:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难制定标题,所以请编辑它,如果你有更好的一个:)

我试图用pygooglechart显示一些统计数据。我使用Django从数据库中取出数据库项。在

数据库项有一个日期时间字段,我想在其中“排序”。我真正想要的是填充一个这样的列表。在

data = [10, 12, 51, 50]

其中,each list item是一小时内数据库项的数量(count)。假设我做了一个查询,它获取了过去72小时内的所有项目,我想将每小时的计数收集到一个列表项中。有人有好办法吗?在


Tags: django数据库编辑标题列表data排序时间
2条回答

假设您运行的是django1.1或最近的签出,您可以使用新的aggregation features。比如:

counts = MyModel.objects.values('datettimefield').annotate(Count('datettimefield'))

这实际上为您提供了一个字典列表:

^{pr2}$

但是写一个列表理解来得到你想要的格式应该是相当容易的。在

在注释后编辑:如果您使用的是1.0.2,那么最有效的方法就是回到原始SQL。在

cursor = connection.cursor()
cursor.execute(
     "SELECT COUNT(0) FROM `mymodel_table` "
     "GROUP BY `mydatetimefield`;"
)
counts = cursor.fetchall()

相关问题 更多 >

    热门问题