2016-06-01 48 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