首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Django中添加decimal.Decimal值?

如何在Django中添加decimal.Decimal值?
EN

Stack Overflow用户
提问于 2015-09-08 11:46:09
回答 1查看 1.6K关注 0票数 3

我对django的看法如下:

代码语言:javascript
复制
reviews = singles.review_set.all()
    for rev in reviews:
        print rev.sentiment
        print type(rev.sentiment)

它返回decimal.Decimal,但我需要计算数字的和。

当我尝试sum(rev.sentiment)时,我得到了错误'Decimal' object is not iterable。我怎样才能解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-08 11:48:02

您想要将几个值相加。但是,rev.sentiment是一个单一的值,因此您可以得到TypeError,因为它没有意义。

您可以在for循环中构建一个和:

代码语言:javascript
复制
rev_sum = 0
for rev in reviews:
    rev_sum += rev.sentiment

或者用一种理解。

代码语言:javascript
复制
rev_sum = sum(rev.sentiment for rev in reviews)

如果您有许多对象,那么使用聚合在数据库中进行和可能会更有效。

代码语言:javascript
复制
from django.db.models import Sum

aggregate = reviews.aggregate(Sum('sentiment'))
rev_sum = aggregate['sentiment__sum']  # retrieve the value from the dict
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32456992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档