+的'不支持的操作数类型:'十进制'和'十进制'

时间:2015-02-20 01:16:50

标签: python django python-2.7

我在Django项目中有一些python代码。托管项目的服务器丢失了,我不得不将代码复制到新服务器上。现在,我收到一个似乎毫无意义的错误。

我的一个python文件中有以下内容:

from decimal import Decimal
...
obj.hours = obj.hours + Decimal('2.5')

其中obj.hoursDecimal对象,我已通过调试验证obj.hours = Decimal('0')。我没有对代码所在的页面进行任何更改,就像我说的那样,唯一的变化就是将代码移动到不同的服务器上。我不明白为什么这个曾经工作过,而且不再是,我不明白为什么它首先不起作用,因为我正在添加两个小数。

2 个答案:

答案 0 :(得分:1)

您似乎同时使用两个Decimal类,其中一个不支持'+'。也许在某个地方创建了一个Decimal类并且它覆盖了原始类。见here。我不知道更改服务器是如何造成这种情况的。

答案 1 :(得分:0)

似乎是名称冲突问题。尝试更改导入语句

import decimal
...
obj.hours = obj.hours + decimal.Decimal('2.5')