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.
Другие публикации из блога
Как сгенерировать SECRET_KEY в Django?
Заходим в терминал:
python manage.py shell
Импортируем utils:
from django.core.management import utils
Гене…
Подробнее
Как проверить позицию бита в числе с помощью Python?
Понимание установлен ли бит в определенной позиции двоичного числа (репрезентации целого числа в двоичной системе) явля…
Подробнее
Склонения для минут\минуты, год\лет в JavaScript
See the Pen
Untitled by Denis (@m5dev)
on CodePen.
Подробнее
Как получить домен и атрибуты GET запроса в JavaScript?
See the Pen
Untitled by Denis (@m5dev)
on CodePen.
Подробнее
Как сгенерировать безопасный SECRET_KEY?
В терминале:
openssl rand -hex 32
с помощью Python:
import secrets
print(secrets.token_hex(32))
…
Подробнее
Django\Nginx 403 Forbidden Error при доступе к media
Скорее всего ошибка возникает из-за неверных прав доступа к папке media и её поддиректориям. Исправляется командой:
…
Подробнее