2015-08-24 3 views
0

как сделать запрос ORM с месяцем и годом даты.Запрос Django ORM за месяц и год

select sum(price) from mytable group by month(start_date),year(start_date); 

Вышеуказанный запрос, который дает точный результат. Но в ORM я пытался, но как группировать по месяцам и годам мудрым.

Мой ORM запрос

rv_per_month = Price_Report.objects.filter(item__in=item_Arr).aggregate(Sum('revenue')) 

выше ORM запрос, который дает сумму (цену). Но я хочу это как группу по месяцам и годам

+0

Пожалуйста, покажите свой запрос ORM, thx. – Jingo

+0

Пожалуйста, зарегистрируйтесь –

+0

http://stackoverflow.com/questions/20806345/django-queryset-first-in-group – chandu

ответ

0
from collections import defaultdict 
from decimal import Decimal 
qs = Price_Report.objects.values_list("created_at", "amount") 
tmp = defaultdict(Decimal) 
for date, amount in qs: 
    tmp[date.year, date.month] += amount 
+0

Я пробовал его сказать «Не удается разрешить ключевое слово« год »в поле. Присоединиться к 'start_date' не разрешено. –

+0

Вы можете сгруппировать количество в python – pod2metra

+0

Пожалуйста, рассмотрите возможность редактирования сообщения, чтобы добавить больше объяснений о том, что делает ваш код и почему он решит проблему. Ответ, который в основном содержит только код (даже если он работает), обычно не помогает OP понять их проблему. – SuperBiasedMan

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