В настоящее время у меня есть представление, которое показывает все мои инвестиции со сроком погашения в течение следующих 5 лет для каждого клиента.То, что я хотел бы сделать, это показать итоговую сумму для каждого финансового учреждения, отображаемую как:
Institution |Сумма |Сумма погашения
TD |1000 |1250
Шотландия |1203 |9383
и т. Д.
Это мой код, показывающий инвестиции в сроки погашения на следующие 5 лет.
#get the invesments maturing this year
for p in plans:
cur_inv = Investment.objects.all().filter(plan = p).order_by('financial_institution').filter(maturity_date__year = current_year)
nxt_inv = Investment.objects.all().filter(plan = p).order_by('financial_institution').filter(maturity_date__year = next_yr)
thr_inv = Investment.objects.all().filter(plan = p).order_by('financial_institution').filter(maturity_date__year = thr_yr)
fr_inv = Investment.objects.all().filter(plan = p).order_by('financial_institution').filter(maturity_date__year = fr_yr)
fv_inv = Investment.objects.all().filter(plan = p).order_by('financial_institution').filter(maturity_date__year = fv_yr)
for inv in cur_inv:
total += inv.amount or 0
for inv in cur_inv:
total_m += inv.maturity_amount or 0
for inv in nxt_inv:
total2 += inv.amount or 0
for inv in nxt_inv:
total_m2 += inv.maturity_amount or 0
for inv in thr_inv:
total3 += inv.amount or 0
for inv in thr_inv:
total_m3 += inv.maturity_amount or 0
for inv in fr_inv:
total4 += inv.amount or 0
for inv in fr_inv:
total_m4 += inv.maturity_amount or 0
plan_list.append({
'plan':p,
'investment': cur_inv,
'nxt_inv': nxt_inv,
'thr_inv': thr_inv,
'fr_inv': fr_inv,
'fv_inv': fv_inv,
})
Я использую список для хранения всех своих планов, чтобы я мог запустить цикл for для каждого плана в моем шаблоне.
У меня есть аналогичное представление, которое делает то, что я хочу, чтобы это сделал, но только для одного плана, и я не уверен, как заставить его работать с несколькими планами.
Вот мойкод, если это всего лишь один выбранный план.
#Calculate the holding totals with each company
total_list = plan.investment_set.filter(maturity_date__gte= '%s-1-1' % current_year).values('financial_institution__abbr').annotate(Sum('maturity_amount')).order_by('financial_institution__abbr')
context['list'] = total_list
Если кто-то может помочь, это будет высоко ценится.
Спасибо.