Как получить все записи за текущий месяц Django
Я хочу получить следующий результат: <QuerySet [{'day_of_month': 2, 'objects_count': 200}]> Вот мой код:
month_records = Model.objects.annotate(
day_of_month=ExtractMonth("created_at")
)
full = month_records.values("day_of_month").annotate(
objects_count=Count("day_of_month")
)
ordered = full.order_by("day_of_month")
print(ordered)
Но этот код вместо дня месяца отображает номер месяца: <QuerySet [{'day_of_month': 5, 'objects_count': 200}]>.
Грубо говоря, мне необходимо, чтобы отображало количество объектов, созданных в каждый день месяца, например: в 7 день месяца было создано 5 объектов, в 8 день 20.
Ответы (1 шт):
Автор решения: Crazy Theory
→ Ссылка
current_datetime = now()
qs = Model.objects.filter(
created_at__year=current_datetime.year,
created_at__month=current_datetime.month
)
values = qs.annotate(day=ExtractDay("created_at")).values("day")
return values.annotate(count=models.Count("day"))