Odoo - 将空值写入数字列

Odoo - Write null to numeric column

在 Odoo/OpenERP 7 中,我有一个名为 balance

的可为空的数字列

'balance': fields.float(string='Balance',digits=(20,2))

我正在尝试使用 Python 代码将 None 更新到字段中

self.write(cr, uid, [1], { 'balance':None })

但是,令人沮丧的是,Python 将 None 视为与 0 相同,所以我最终在数据库中得到 0 而不是预期的 Null。

关于如何使用写入命令存储空值的任何指示?

你不能:Odoo ORM 不支持空数值。

如果您确实需要将 "empty" 值与零值区分开来,您需要一种解决方法:要么使用字符串字段(更简单,但需要额外检查以仅允许数字,并且更难执行计算) 或使用第二个布尔字段来标记空值。