2009-08-19 29 views
0

我有一个很难制定标题排序的查询集填充items.count()的列表,请编辑它,如果你有一个更好的:)如何从一个时间字段

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

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

data = [10, 12, 51, 50] 

其中每个列表项是一小时内数据库项目的数量(计数)。因此,让我说我做了一个查询,获取在过去72小时内的所有项目,我想收集每个小时的数量到一个列表项。任何人都有一个很好的方法来做到这一点?

+0

你为什么让这个社区wiki?它应该是一个普通的问题imo – priestc 2009-08-20 03:27:01

+0

没有规则,什么可以和不可以是社区wiki。如果你想使它成为一个维基(为**任何**原因),你可以。 – Travis 2009-08-20 20:17:40

回答

2

假设你正在运行的Django 1.1或一个相当新的结帐,你可以使用新的aggregation features。喜欢的东西:

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

这实际上让你的词典列表:

[{'datetimefield':<date1>, 'datettimefield__count':<count1>}, 
{'datetimefield':<date2>, 'datettimefield__count':<count2>}, ...] 

,但它应该是相当容易写一个列表解析得到你想要的格式。

在评论之后编辑:如果您使用的是1.0.2,最有效的方法是回退到原始SQL。

+0

不幸的是我在这个项目上运行1.0.2,在列表中的任何指针理解?我似乎不能让我以正确的方式工作。 – espenhogbakk 2009-08-20 08:28:18

相关问题