@koshnv
Жить, искать, найти, и перепрятать...

Как эффективно вычислить максимальное значение поля IntegerField отфлитровав за один месяц?

Для нахождения максимального значения по полю до сих пор использовал:
num_application_max = Application.objects.aggregate(models.Max('num_application'))

Все работает, но встала необходимость узнать максимальное значение за выбранный месяц.
Фильтры читаются с лева на право но так не работает:
num_application_max = Application.objects.filter(work_date__month = 8).aggregate(models.Max('num_application'))

Понимаю, что можно через “for” прокрутить и посчитать отфильтрованные объекты:
Application.objects.filter(work_date__month = 8)
Но не понимаю, как это сделать через запрос.
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
@koshnv Автор вопроса
Жить, искать, найти, и перепрятать...
Все работает корректно, замаслился взгляд:
num_application_max = Application.objects.filter(work_date__month = 8).aggregate(models.Max('num_application'))

Один большой "+" выяснил, что через "for" дольше в 2 раза
--- 0.0019996166229248047 seconds ---
--- 0.003993988037109375 seconds ---
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы