2016-06-01 46 views
0

简而言之,Odoo中的二进制字段的默认值是什么?Odoo中的二进制字段的默认值

更具体地说,我试图根据记录中是否包含某些文档(即记录中已完成字段数的状态栏)来构造计算字段。

仿佛BIN1和BIN2是二进制领域和布尔是布尔,然后我的进步将被计算为

progress = 100.0 * (1*bool + 1*(bin1 is not None) + 1*(bin2 is not None))/3 

幸运的玩具例如,记录保存后该计算工作正常。但是,在编辑模式下,进度显示为2/3。

这带来了二进制字段默认值的问题或者关于如何提取关于是否填充二进制字段的信息的任何想法。

回答

1

一个空的二进制字段是False一个值包含base64编码的字符串。

所以,你做你的computatation之前,你必须做一些事情,如:

if item.bin_field: 
    bin_val = item.bin_field.decode('base64') 

你检查,如果失败,因为你正在做一个“身份比较”所以你基本上是说“is我的价值等同于None? “而不是检查是否是布尔错误。

+0

感谢mang,那就清除它! – BenSmith