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.
Другие публикации из блога
Посмотреть все пакеты node.js
Все пакеты с зависимостями
npm ls
Все пакеты верхнего уровня
npm ls -depth=0
Подробнее
Django template первый\последний объекты цикла
Для выбора первого или последнего объектов в цикле for шаблонизатора Django используется следующий синтаксис:
{% f…
Подробнее
Ошибка Docker-compose ERROR [internal] booting buildkit при билде
Желательно что бы Docker был установлен через snap. Для решения проблемы попробуйте обновить snap Docker до последней…
Подробнее
Склонения для минут\минуты, год\лет в JavaScript
See the Pen
Untitled by Denis (@m5dev)
on CodePen.
Подробнее
Установка Docker + Docker Compose на Ubuntu\Ubuntu Server
Самый простой и быстрый способ установить Docker & Docker Compose локально или на сервер - использовать snaps.
sudo …
Подробнее
Зачем использовать yarn когда есть npm?
Npm не всегда работает без сбоев, при установке пакетов могут возникать ошибки, кроме того он качает пакеты по очереди.…
Подробнее