Использование Django для подведения итогов отчета - PullRequest
2 голосов
/ 29 сентября 2011

Я пытаюсь составить таблицу, в которой будет показана общая сумма по срокам погашения для каждого финансового учреждения, имеющегося у плана.

План - это термин, который я использую для лица.Таким образом, каждый человек может иметь несколько инвестиций.У меня проблемы с созданием таблицы, которая будет делать это правильно.

В настоящее время у меня есть отчет, в котором отображаются все инвестиции, отсортированные по дате погашения, то есть 2011,2012 и т. Д.

ВнизуЯ хотел бы разместить эту сводную таблицу, но в моем запросе отображаются дубликаты каждого финансового учреждения из-за возможности иметь несколько инвестиций.

Мой текущий запрос:

list = Investment.objects.all().filter(plan = plan).order_by('financial_institution').filter(maturity_date__gte= '%s-1-1' % current_year).distinct()

Это приведет к выводу:

  • TD Bank $ 10k
  • TD Bank $ 10k
  • Scotia Bank $ 10k
  • Etc

Но я бы хотел:

  • TD Bank $ 20k
  • Scotia Bank $ 10k
  • Etc

1 Ответ

5 голосов
/ 29 сентября 2011

Итак, вы хотите агрегировать значения инвестиций для плана:

from django.db.models import Sum
my_plan.investment_set.filter(
    maturity_date__gte=whenever
).values('financial_institution').annotate(Sum('value'))
...