Mi punto de vista:

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')

Mi plantilla:

{% for account in dif %}
<tr>
  <td>{{ account }}</td>
  <td></td>
  <td></td>
  <td></td>
</tr>
{% endfor %}

Resultado:

('andrea', 10)          
('mosca', 20)           

¿Cómo quitar el paréntesis?

0
Serho Montero 2 oct. 2019 a las 02:48

1 respuesta

La mejor respuesta

Los valores devueltos son tuplas. Puede acceder a ellos utilizando índices, por ejemplo:

{{ account.0 }}'s balance is {{ account.1 }}

Imprimirá

andrea's balance is 10
0
Selcuk 1 oct. 2019 a las 23:51