gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 16:30:30 24 4
gpt4 key购买 nike

我有 django View :

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。我该如何解决这个问题?

最佳答案

您想对多个值求和。但是,rev.sentiment 是单个值,因此您会得到 TypeError,因为对它求和是没有意义的。

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

rev_sum = 0
for rev in reviews:
rev_sum += rev.sentiment

或者使用理解。

rev_sum = sum(rev.sentiment for rev in reviews)

如果您有很多对象,使用 aggregation 在数据库中进行求和可能会更有效.

from django.db.models import Sum

aggregate = reviews.aggregate(Sum('sentiment'))
rev_sum = aggregate['sentiment__sum'] # retrieve the value from the dict

关于python - 如何在 Django 中添加 decimal.Decimal 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32456992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com