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 回答