0

我有一个包含 DecimalField 的 Django 模型,我试图通过一个美味的 ModelResource 公开它。当我请求美味的 URL 时,我似乎无法克服这个错误:

无法将浮点数转换为十进制。首先将浮点数转换为字符串

堆栈跟踪指的是 packages/tastypie/fields.py",第 250 行,在此处附近

def convert(self, value):
    if value is None:
        return None

    return Decimal(value)

如果我在 ModelResource 定义中排除了这个字段,错误就会消失并且请求会正常返回(并不奇怪)。

我想知道我是否应该在tastepie 中明确定义一个DecimalField,但这对我来说并不清楚。

在其他情况下的较低级别的python中,我通过执行 Decimal(str(value)) 解决了此类问题。所以我在这个名为 value 的字段上尝试了类似的 dehydrate_FOO:

def dehydrate_value(self, bundle):
    "for massaging data before it is returned to the client"
    return Decimal(str(bundle.data['value']))

但错误仍然存​​在。我在 Stack Overflow 和其他地方搜索过,但没有找到很多线索。这个问题有点相关: https ://github.com/toastdriven/django-tastypie/issues/281

但我确实有一个更新版本的美味派(v0.9.11)。

非常感谢任何指导。

4

1 回答 1

0

升级你的 Python。

你的 Python 版本是 < 2.7,不是吗?

升级到python 2.7!

于 2012-07-12T21:52:59.170 回答