2016-05-13 42 views
0

我有算在同一日期時間查詢集某些價值觀的問題,這是我的查詢集:相同的數值

energy = self.Gauge.objects.filter(place=place, **datetime_kwargs).values(*self.csv_fields).order_by('datetime') 

結果是:

[{'a': 2, 'b': 3, datetime: datetime.datetime(2016, 5, 10, 0, 0)}, {'a': 4, 'b': 5, datetime: datetime.datetime(2016, 5, 12, 0, 0)}, {'a': 3, 'b': 6, datetime: datetime.datetime(2016, 5, 10, 0, 0)}, {'a': 5, 'b': 2, datetime: datetime.datetime(2016, 5, 12, 0, 0)}] 

我想從相同的日期數a和b值,例如:

日期:2016年5月10日0時:A = 5,b = 9 我試圖與理解列表:

key_values = ['datetime'] 

    for e in energy: 
     energy_by_date = {k: v for k, v in energy.items() if k in key_values} 

但它只給日期。如何按日期對查詢集對象進行分組?

回答

1

使用 「GROUP_BY」 Django的ORM的能力,是這樣的:

YourModel.objects.values('datetime').annotate(a_total=Sum('a'), b_total=Sum('b')) 
+0

它的工作原理,非常感謝! – kaja