【问题标题】:Perform sum operation in django template在django模板中进行求和运算
【发布时间】:2020-04-22 10:30:46
【问题描述】:

我有一个复选框分页,用户在用户提交后选择一些选项,他会重定向到他看到他选择的所有项目和项目价值的页面,我想得到他的项目价值的总和选择。

                    <tbody>
{% for booktest in var1 %}
<tr>
    <td width="100%">{{ booktest }}</td>
    <td>{{ booktest.rate }}</td>
    </tr>
{% endfor %}
</ul>
</tbody>

上面是 HTMl 代码,我在其中获取选择项,我想在 {{ booktest.rate }}

中添加所有值
views.py

def ResultTest(request):
    var = request.POST.get('selectedTests')
    booktests = BookTest.objects.filter(test__in=var.split(','))

views.py 我从中获取选定的复选框数据。

【问题讨论】:

  • 能不能在视图中求和,然后将结果绑定到模板变量中?
  • 哪一列的总和? rate?
  • 总和 {{ booktest.rate }} 作为用户选择多个项目,所以我现在得到所选项目的价值我想显示所选项目的总价格@WillemVanOnsem
  • 我无法在我的观点中获得 {{ booktest.rate }} 的结果@TomDalton

标签: python django django-models django-views django-templates


【解决方案1】:

您可以计算rates 与Sum aggregate function [Django-doc] 的总和:

from django.db.models import Sum

def result_test(request):
    var = request.POST.get('selectedTests')
    booktests = BookTest.objects.filter(test__in=var.split(','))
    total_rate = booktests.aggregate(total=Sum('rate'))['total'] or 0
    # …

【讨论】:

    猜你喜欢
    • 2011-09-11
    • 2019-07-16
    • 1970-01-01
    • 2020-10-28
    • 2014-10-25
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 2016-09-18
    相关资源
    最近更新 更多