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.
Другие публикации из блога
Как создать Django app в определенной папке
Предположим структура вашего проекта выглядит следующим образом:
apps/ config/ db.sqlite3 manage.py* media/ r…
Подробнее
Выбор последнего элемента в цикле v-for во Vue.js
1. Выбор всех элементов кроме последнего в цикле v-for
2. Выбор только последнего в цикле v-for
Подробнее
Проблемы с file-loader в Webpack 5
file-loader не работает в Webpack 5, замените его на:
{
test: /\.(gif|png|jpe?g|svg)$/i,
type: 'asset/re…
Подробнее
Как проверить позицию бита в числе с помощью Python?
Понимание установлен ли бит в определенной позиции двоичного числа (репрезентации целого числа в двоичной системе) явля…
Подробнее
Как понять цифры в ошибке 22:7 или 00:00
Предположим, вы получили ошибку вида: 22:7 или 11:17 и т.п. Как понять что означают эти числа?
1-е число – это…
Подробнее
Как предотвратить билд образа Docker из кэша?
При билде образа Docker создает кэши что не всегда бывает удобно и занимает много места на сервере. Для экономии места …
Подробнее