python +=的操作数类型不受支持:“整数”和“十进制128”

ulydmbyx  于 2022-12-25  发布在  Python
关注(0)|答案(2)|浏览(174)

我试图从Mongodb数据库添加的数字。
编号代码

meal_data = Data.objects.filter(year= se_year, month= se_month, category = 'Meal')
    meal_amt = 0
    for i in meal_data:
        id = i.id
        m_amount_data = Data.objects.get(id = id)
        meal_amt += m_amount_data.amount

错误数量
TypeError:+=的操作数类型不受支持:"整数"和"十进制128"
错误显示在此行中

meal_amt += m_amount_data.amount

我需要将这些数字相加并将其存储到变量"meal_amt"中。

wmvff8tz

wmvff8tz1#

meal_amt变量类型改为Decimal。

from decimal import Decimal

meal_data = Data.objects.filter(year= se_year, month= se_month, category = 'Meal')
meal_amt = Decimal(0)

for i in meal_data:
    meal_amt += i.amount

此外,无需在for循环中获取Data对象。

7nbnzgx9

7nbnzgx92#

要使用+=,需要将其转换为int或float

meal_amt += int(m_amount_data.amount)
meal_amt += float(m_amount_data.amount)

为了使用运算符+=

相关问题