1
我正在四處查看如何將Django查詢集按月分組。我終於發現了這個非常有用的代碼:在Django中按月分組並檢索爲datetime.date()
truncate_date = connection.ops.date_trunc_sql('day','timestamp')
qs = qs.extra({'date':truncate_date})
return qs.values('date').annotate(Sum('amount')).order_by('date')
從Django: Group by date (day, month, year)
它工作得很好,但是其返回的date
是一個字符串,而不是一個適當的datetime.date
,我不能在使用{{date|date:format}}
模板。似乎最初的發件人(奧利)有同樣的問題。儘管回答這個問題的人說它可以和postgres一起工作,但我並沒有用SQLite取得任何成功。
是否可以在查詢或模板中將字符串轉換爲日期時間。或者我必須循環所有條目?
對不起,發佈在分離的趨勢,但我沒有足夠的優惠只是在原來的評論。
但後來因爲我需要「量」將不會歸納所有條目一個月(其他職位是這件事)。 我當前的查詢是這樣的: 'truncate_date = connection.ops.date_trunc_sql( '月', 'data_insercao')' 'fichas_report = Ficha.objects.extra(選擇= { '月':truncate_date} ).values('name','month')。 annotate(number_entries = Count('pk'))。order_by(' - month')' 它給了我一個月份的名字和條目列表。 – 2012-03-30 17:23:02