Aggregation - обрабатывает все результаты запроса (queryset).
Предположим мы хотим получить среднюю цену всех товаров в магазине:
Product.objects.aggregate(avg_price=Avg('price'))
# {'avg_price': 1596.75}
Annotation - обрабатывает значение каждого значения (item) в запросе (queryset) отдельно.
Посчитаем количество тегов в каждой публикации блога:
q = Blog.objects.annotate(count_tags=Count('tag'))
q[0].count_tags
# 3
q[1].count_tags
# 7
Автор видео Pretty Printed.
Другие публикации из блога
Зачем использовать yarn когда есть npm?
Npm не всегда работает без сбоев, при установке пакетов могут возникать ошибки, кроме того он качает пакеты по очереди.…
Подробнее
В чем отличие ref() от reactive() во Vue?
Идея в том что ref() задумывался для обозначения реактивных примитивов, а reactive() для реактивных объектов.
cons…
Подробнее
Что такое магические числа?
Это числа происхождение которых непонятно другим программистам и вам спустя некоторое время. Например:
const euros…
Подробнее
Зачем нужен Makefile?
Makefile – это очень удобная штука, которая облегчит вам жизнь.
Предположим у вас есть проект и для его деплоя…
Подробнее
Скрыть\показать пароль в input
See the Pen
Show\hide password in input field by Denis (@m5dev)
on CodePen.
Подробнее
Выводим Inline формы в админке Django в зависимости от группы в которой находится пользователь
Начиная с версии Django 3.* доступен метод get_inlines.
Допустим мы хотим показать Inline форму если пользователь на…
Подробнее