Получение набора запросов и его агрегированного значения одним запросом к базе данных

В Django rest framework я создаю сложный аннотированный Product queryset, который идет на сериализацию, но в то же время мне нужно получить его агрегированные данные, чтобы добавить их к данным Response.

Пример (один запрос):

qs = self.filter_queryset(Product.objects.filter(**query_filters)
                         .annotate(current_price=F('some_value') * some_vart)))
                 

Затем мне нужны агрегированные данные (второй запрос):

min_max = qs.aggregate(Max('current_price'), Min('current_price'))

Всего получается 2 запроса к БД. Есть ли способ сделать так, чтобы он ударял по БД один раз? БД - это Postgres.

Thx

Вернуться на верх