У меня есть следующий подзапрос:
Subquery( ContestTaskRelationship.objects.filter( contest=contest, solved=OuterRef('id') ).values('cost').all() )
Мне нужно аннотировать мой QuerySet суммой значений cost, возвращаемых каждым подзапросом. Как это сделать? Перенос подзапроса в Sum возвращает только первый элемент каждого подзапроса.
cost
Я нашел путь без Subquery:
Subquery
cost_sum=Sum( Case( When( contest_task_relationship__contest=contest, then='contest_task_relationship__cost' ), default=V(0), output_field=IntegerField() ) )
Не элегантный способ, но он работает.