1

テンプレートでDjangoを使用して、カテゴリフィールドに基づいて多次元リストを再グループ化します。カテゴリごとに、同じリストの整数フィールドの合計も必要です。これに関するいくつかの質問を読みましたが、テンプレートがレンダリングされる前に、ビューでこれを行う必要があるようです。ただし、これは、カテゴリごとに合計を個別に定義する必要があることを意味しますが、再グループ化によってこの問題が回避されることを期待していました。これを行うための代替または別のより良い方法はありますか?

{% regroup shops|dictsort:"category" by category as category_list %}
{% for clist in category_list %}
# here should come the total per category
{% endfor %}
4

2 に答える 2

1

モデル内に関数を作成し、それをテンプレートで呼び出すことができます。

Category(models.Model)
    ........

    def total(self):
        qs = Category.objects.filter(id=self).aggregate(Sum('amount'))
        sum = qs['amount__sum']
        if not sum:
            sum = 0.00
        return sum

{% regroup shops|dictsort:"category" by category as category_list %}
{% for clist in category_list %}
    {{clist}} - {{clist.total}}
{% endfor %}
于 2013-03-20T02:33:07.757 に答える
0

これであなたの質問に答えられると思います。djangoテンプレートに現在の合計を実装するにはどうすればよいですか?。タイトルは少しわかりにくいですが、そこに何かを手に入れることができると思います。

于 2013-03-19T23:47:36.010 に答える