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

Peewee ORM查询字段/列SUM总和报错问题求助

解决方案

问题根因

  1. 你定义的query是未执行的ModelSelect查询构造对象,并非实际查询结果,因此无法直接访问sum_total属性。
  2. 聚合查询返回的结果仅包含你指定的聚合字段,未查询Package模型定义的其他字段,用model_to_dict转换时自然返回其他字段的null值,且全表求和仅返回1行结果,order_by子句无实际意义。

最简实现(直接返回求和值)

调用scalar()方法直接返回聚合计算的结果,无需额外处理:

from peewee import fn

sum_total = Package.select(fn.SUM(Package.price)).scalar()

带别名的实现方式

如果需要保留自定义别名的写法,调用get()执行查询获取结果后再访问别名字段:

from peewee import fn

sum_total = fn.SUM(Package.price).alias('sum_total')
result = Package.select(sum_total).get()
print(result.sum_total)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:15:04