我有一个模型函数,它调用另一个模型函数并使用结果执行计算。返回的结果应该是小数,但是我收到错误:
unsupported operand type(s) for -: 'instancemethod' and 'Decimal'
我已经尝试Decimal()
来转换返回但是导致了相同的错误,但是说我无法将instancemethod转换为decimal。
相关代码是:
cimt = member.cimt
bal = cimt - cpp
if bal == 0:
pass
elif bal < 0:
owes_members.append(member)
elif bal > 0:
owed_members.append(member)
record_item = ReceiptItem(member = member, amount = bal)
record_item.save()
print record_item.amount
发生错误的行是bal = cimt - cpp
非常感谢任何帮助,谢谢。
答案 0 :(得分:1)
由于错误告诉您正在尝试使用模型方法执行计算,而不是调用方法的结果。它应该是:
cimt = member.cimt()
或者用你需要的任何参数调用。
您可以按名称访问和操作方法,就像对象上的任何其他内容一样;你需要用括号来实际调用它。