Я пытаюсь выполнить следующий запрос с помощью Django ORM:
Select SUM("carros_gasto"."monto"), extract('week' from fecha) as week
From carros_gasto
group by week
, поэтому я получаю следующие результаты:
В django ORM я пробовал следующий набор запросов:
Gasto.objects.all().annotate(week=ExtractWeek('fecha')).values('week').annotate(Sum('monto'))
, и я получаю следующие результаты:
<QuerySet [{'week': 11, 'monto__sum': Decimal('100.00')}, {'week': 12, 'monto__sum': Decimal('100.00')}, {'week': 12, 'monto__sum': Decimal('300.00')}, {'week': 12, 'monto__sum': Decimal('1200.00')}]>
группировка не работает как ожидается.
Это запрос, который я вижу за кулисами в django:
SELECT EXTRACT('week' FROM "carros_gasto"."fecha") AS "week", SUM("carros_gasto"."monto") AS "monto__sum" FROM "carros_gasto" GROUP BY EXTRACT('week' FROM "carros_gasto"."fecha"), "carros_gasto"."fecha" ORDER BY "carros_gasto"."fecha" ASC
Я вижу, что группировка по неделям и 'fecha' вместо просто недели.
Примечание: я использую PostgreSQL