В обычном виде aggregate дает немного не тот результат.
model_obj.objects.filter(some_field='some_value')\
.values('date', 'value')\
.order_by('date', 'value')\
.annotate(total=Sum('value'))\
.aggregate(Avg('total'))
Данный запрос возвращает среднее значение по всем Sum('value'), то есть
{'total': 2.0}
А мне необходимо сделать aggregate c группировкой по неделям. То есть ожидаемый результат:
[{'date': '2017-04-13', 'total': 1.8}, {'date': '2017-04-20', 'total': 2.0}]
По сути надо как-то aggregate соединить с group by (week(date)).
Замена aggregate на annotate дает ошибку
FieldError: Cannot compute Avg('total'): 'total' is an aggregate
Updated 20 April 2017, 21:29 by Lana.