У меня есть простая задача агрегирования некоторых значений из базы данных, но проблема в том, что мне нужно сделать это в другом приложении django
. Мне нужно суммировать сумму стоимости, цены и среднего за каждый месяц и отображать ее в таблице.Использование API агрегирования Django
Я использую общий ListView
, поэтому я могу заполнить этот простой пример.
в views.py я есть:
from django.views.generic import ListView
from django.db.models import Sum, Avg
from projects_app.models import Project
class ProjectStatisticsList(ListView):
model = Project
template_name = 'statistics_app/statistics_list.html'
def get_context_data(self, **kwargs):
context = super(ProjectStatisticsList, self).get_context_data(**kwargs)
context["price_aux"] = Project.objects.all().aggregate(Sum("price_aux"))
return context
и в шаблоне у меня есть:
<tr>
<th class="align-left">{% trans 'Project income' %}</th>
<th class="align-left">{{ total.price_aux }}</th>
</tr>
Моя проблема заключается в том, что я ничего на шаблоне не получаю, так что мне интересно если я поступаю правильно, есть ли лучший способ.
да, спасибо, в этом была проблема, я неправильно интерпретировал ключи dict – PetarP