我一直在研究這一段時間,看着許多stackoverflow的問題,並通過aggregation docs 我需要獲取按日期分組的PropertyImpressions的數據集。這裏是PropertyImpression型號:Django按日期獲得行數
#models.py
class PropertyImpression(models.Model):
'''
Impression data for Property Items
'''
property = models.ForeignKey(Property, db_index=True)
imp_date = models.DateField(auto_now_add=True)
我曾嘗試查看代碼的這麼多的變化,而是因爲我認爲是最合理的,簡單的代碼,它根據文檔,應將例子我張貼此代碼做我想做的事情。
#views.py
def admin_home(request):
'''
this is the home dashboard for admins, which currently just means staff.
Other users that try to access this page will be redirected to login.
'''
prop_imps = PropertyImpression.objects.values('imp_date').annotate(count=Count('id'))
return render(request, 'reportcontent/admin_home.html', {'prop_imps':prop_imps})
在模板中使用{{prop_imps}}變量時
然後,它給我的PropertyImpressions的名單,而是由雙方imp_date和財產進行分組。我需要這個只按imp_date進行分組,並根據values docs添加.values('imp_date')它只是按該字段分組?
當離開prop_imps變量中的.annotate時,它給了我一個所有imp_dates的列表,這些列表非常接近,但是當我通過日期字段進行分組時,出於某些原因,它們都由imp_date和property組成。
就是這樣,謝謝! – awwester 2014-12-13 17:36:32
沒問題。我剛剛在Django文檔中找到了詳細的解釋,我更新了我的答案。 – pchiquet 2014-12-13 17:46:40
ahhh謝謝。這就說得通了。 – awwester 2014-12-13 18:01:26