Использование Count с aggregate(Sum) в django ORM, Custom Queryset Fields

Я хочу использовать запрос, в котором мне нужно количество счетов и общая сумма счетов в наборе запросов.

Invoice.objects.aggregate(total_amount=Sum('order__order_items__amount')) 
Invoice.objects.count()

как я могу обработать вышеуказанные запросы в одном запросе.

Вы можете подсчитать количество различных первичных ключей:

from django.db.models import Count, Sum

Invoice.objects.aggregate(
    total_amount=Sum('order__order_items__amount'),
    number_of_invoices=Count('pk', distinct=True)
)

Это вернет словарь с 'total_amount' и 'number_of_invoices' в качестве ключей.

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