You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中如何对values_list内的所有数值进行求和计算?

解决方案

方法一:用Django聚合函数(推荐)

直接在数据库层面完成求和操作,性能更优,无需将所有数据加载到内存中:

首先导入Sum聚合函数:

from django.db.models import Sum

然后修改mathe3属性:

@property
def mathe3(self):
    # 聚合求和,若无数据则默认0避免报错
    total_stunden = self.lehrertabelle_set.aggregate(total=Sum('Stundenanteil_bei_WE'))['total'] or 0
    return total_stunden + self.mathe2

方法二:Python原生sum函数

如果需要基于已获取的数值列表求和,也可以直接用Python的sum()函数:

@property
def mathe3(self):
    stunden_values = self.lehrertabelle_set.values_list('Stundenanteil_bei_WE', flat=True)
    total_stunden = sum(stunden_values)
    return total_stunden + self.mathe2

两种方法都能实现所有Stundenanteil_bei_WE数值的累加,优先推荐方法一,尤其是数据量较大时,数据库层面的聚合操作效率更高。

内容的提问来源于stack exchange,提问作者user19711010

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:10:49