2016-05-13 1 views
0

У меня есть проблема с подсчитывать некоторые значения в QuerySet с той же даты-времени, это мой QuerySet:Те же значения DateTime в QuerySet

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)}] 

Я хочу подсчитывать а и Ь значения с той же даты, например:

Дата: 10.05.2016 00:00: а = 5, б = 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

 Смежные вопросы

  • Нет связанных вопросов^_^