Введение в агрегаты Django
Часто из базы нужно не список записей, а одно число: сколько постов, какое среднее число лайков, какая максимальная цена. Такие вычисления называют агрегатами (aggregates). Их считает сама база данных, а Django возвращает готовый результат.
В Django для этого есть метод
aggregate. Он берет QuerySet
и сворачивает его в словарь с одним
или несколькими значениями - суммой,
средним, минимумом, максимумом,
количеством.
Есть и другой метод -
annotate. Он не сворачивает
весь набор в одно число, а добавляет
вычисляемое поле к каждой записи
(или к каждой группе). Например,
к каждому посту - число комментариев,
а к каждому автору - среднее число лайков.
В следующих уроках мы сначала разберем
aggregate и агрегатные классы,
а затем - annotate.
Расскажите, что такое агрегаты и зачем они нужны.
Расскажите, чем метод aggregate
отличается от метода annotate.