Вы должны добавить название валюты к вашим значениям, вы можете сделать это с помощью:
from django.db.models import <b>F</b>
result = Banks.objects.values(
'currency',
<b>currency_name=F('currency__name')</b>
).order_by('currency', 'currency_name').annotate(
total_withdrawals=Sum('total_withdrawals'),
total_deposits=Sum('total_deposits')
)
(при условии, что Currency
имеет поле name
, если оно имеет другое поле, вы можете заменить это на F('currency__<i>fieldname</i>')
для этого fieldname
).
Затем вы можете отобразить это с помощью:
<td class='aligncenter'>{{ instance.<b>currency_name</b> }}</td>
При этом, поскольку вы здесь группировать по валюте, имеет смысл просто аннотировать ваши валюты, например:
result = <b>Currency</b>.objects.annotate(
total_withdrawals=Sum(<b>'banks__total_withdrawals'</b>),
total_deposits=Sum(<b>'banks__total_deposits'</b>)
)
Затем вы можете визуализировать объект instance, which will call the
str (..) on the
Currency` Например, с:
<td class='aligncenter'>{{forloop.counter}}</td>
<td class='aligncenter'>{{ <b>instance</b> }}</td>
<td class='aligncenter'>{{ instance.total_deposits }}</td>
<td class='aligncenter'>{{ instance.total_withdrawals }}</td>
<td class='aligncenter'>{{ instance.total_deposits|sub:instance.total_withdrawals }}</td>