Получить данные за предыдущие месяцы в Python Django - PullRequest
0 голосов
/ 24 сентября 2019

Привет, я использую django, и моя модель выглядит такданные не данные прошлого месяца.Я хочу сделать это как данные за весь август, так как это последний месяц сентября, затем данные за весь июль и т. Д.

1 Ответ

1 голос
/ 24 сентября 2019

Я бы начал с вычисления даты начала и окончания месяца:

now = timezone.now()
one_month_ago = datetime.datetime(now.year, now.month - 1, 1)
month_end = datetime.datetime(now.year, now.month, 1) - datetime.timedelta(seconds=1)

Затем получил бы соответствующие SignupMonthlyPoint s:

SignupMonthlyPoint.objects.filter(user=request.user,
                                  timestamp__gt=one_month_ago,
                                  timestamp__lt=month_end)

Возможно, вам придется использовать timezone.make_aware() на ваши даты, чтобы добавить часовой пояс и сделать их узнаваемыми Django

...