0

私はデータベースからいくつかの値を集約する簡単な作業がありますが、別のdjangoアプリケーションで行う必要があるという問題があります。毎月のコスト、価格、平均の合計を集計し、それをテーブルに表示する必要があります。集計APIを使用するDjango

私は総称ListViewを使用していますので、これを集約することができますので、簡単な例です。

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 

とテンプレートに私が持っている::views.pyで

私が持っている

<tr> 
    <th class="align-left">{% trans 'Project income' %}</th> 
    <th class="align-left">{{ total.price_aux }}</th> 
</tr> 

私の問題は、私は、テンプレートに何も届かないということですので、私は思ったんだけど私が正しいことをしているなら、よりよい方法があるのです。テンプレートで

答えて

4

、代わりに行う{{ total.price_aux }}を行う:

<th class="align-left">{{ price_aux.price_aux__sum }}</th> 

price_auxは、文脈で重要である、とprice_aux__sumは集計クエリから辞書のキーです。

+0

ありがとう、これは問題だった、私は間違ってdictのキーを解釈した – PetarP

関連する問題