Django ORM - 为DecimalField分配原始值

M. *_*yan 3 python django casting django-models django-orm

编辑!!!- 当我创建一个对象时,将值转换为字符串似乎工作正常,但是当我尝试编辑现有对象时,它不允许它.

所以我在我的一个Decimal模型中有一个十进制字段(3,2)

当我查询所有这些对象并尝试设置此字段时:

fieldName = 0.85
Run Code Online (Sandbox Code Playgroud)

要么

fieldName = .85
Run Code Online (Sandbox Code Playgroud)

它会抛出一个混乱,"无法将float转换为DecimalField,尝试首先转换为字符串"...

那么我做:

fieldName = str(0.85)
Run Code Online (Sandbox Code Playgroud)

同样的错误.

我甚至尝试过:

fieldName = "0.85"
Run Code Online (Sandbox Code Playgroud)

同样的错误.我在这里遇到某种框架错误,或者是什么?请注意,当我实际进入Django Admin并手动编辑对象时,它工作正常.

我在Python 2.6上运行Django 1.1

Gre*_*reg 11

from decimal import Decimal
object.fieldName = Decimal("0.85")
Run Code Online (Sandbox Code Playgroud)

要么

f = 0.85
object.fieldName = Decimal(str(f))
Run Code Online (Sandbox Code Playgroud)