Django如何在模板中显示子查询
我的看法是:Django如何在模板中显示子查询,django,django-templates,Django,Django Templates,我的看法是: credits = Credit.objects.filter(account=OuterRef('pk')).values('account_id').annotate(sum_credits=Sum('amount')) debits = Debit.objects.filter(account=OuterRef('pk')).values('account_id').annotate(sum_debits=Sum('amount')) dif = Account.object
credits = Credit.objects.filter(account=OuterRef('pk')).values('account_id').annotate(sum_credits=Sum('amount'))
debits = Debit.objects.filter(account=OuterRef('pk')).values('account_id').annotate(sum_debits=Sum('amount'))
dif = Account.objects.annotate(credit_sum=Subquery(credits.values('sum_credits')),debit_sum=Subquery(debits.values('sum_debits')),balance=F('credit_sum') F('debit_sum')).values_list('name', 'balance')
我的模板:
{% for account in dif %}
<tr>
<td>{{ account }}</td>
<td></td>
<td></td>
<td></td>
</tr>
{% endfor %}
如何删除括号?返回值为。您可以使用索引访问它们,例如:
{{ account.0 }}'s balance is {{ account.1 }}
将打印
andrea's balance is 10
工作正常thnx,当我对credits执行相同操作时,{%forCredits in credits%}给出此错误此查询集包含对外部查询的引用,并且只能在子查询中使用,foorlop credit可以吗?是的,不能直接使用子查询。你的预期产出是多少?不过,我建议您将此作为一个单独的问题发布。感谢您的帮助,为了显示用户在同一个html表中的积分,我尝试使用zip列表,但效果不错,我没有尝试过这个方法,但我相信它很简单,只需将
借方金额
和贷方金额
添加到您的值列表
,就像您使用余额
一样。
andrea's balance is 10