我有以下子查询:
Subquery( ContestTaskRelationship.objects.filter( contest=contest, solved=OuterRef('id') ).values('cost').all() )
然后我需要用 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() ) )
不是一种优雅的方式,但它是有效的。