Как использовать posgresql «интервал» в Django? - PullRequest
0 голосов
/ 21 ноября 2018

Вот мой оператор PostgreSQL.

select round(sum("amount") filter(where "date">=now()-interval '12 months')/12,0) as avg_12month from "amountTab"

Как использовать это в Django?

У меня есть объект под названием Devc с атрибутом date.

Я хочу получить сумму конкретных данных за последние 12 месяцев, а не за последние 365 дней.

1 Ответ

0 голосов
/ 21 ноября 2018

Вы можете попробовать это, чтобы получить данные в пределах past 12 months.

today= datetime.now()
current_month_first_day = today.replace(day = 1)
previous_month_last_day = current_month_first_day - timedelta(days = 1)
past_12_month_first_day = previous_month_last_day - timedelta(days = 360)
past_12_month_first_day = past_12_month_first_day.replace(day = 1)

 past_12_month_avg = Devc.objects.filter(date__range=(past_12_month_first_day,current_month_first_day)).aggregate(Sum('amount'))['amount']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...