2009-08-19 47 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

相關問題