表格字段总和上有3个字段是readonly . 单击“从readonly保存数据”字段后,不存储在数据库中 .
例:
class myClass(models.Model):
number_1 = fields.Integer(store=True,default=0)
number_2 = fields.Integer(store=True,default=0)
sum = fields.Integer(store=True)
@api.onchange('number_1','number_2')
def compute_sum(self):
total = self.number_1 + self.number_2
self.sum = total
1 回答
在这种情况下,我更喜欢计算字段 . 只有通过公式更改(例如更改事件)才会保存只读字段 . 在Odoo 11中,在视图中为此行为引入了一个新选项
force_save
,但以前的版本没有此选项(除了社区模块,例如web_readonly_bypass by OCA) .计算字段的解决方案:
不需要更改视图定义 . 并且在正常的
Integer
字段中也不需要store
参数 . 默认值0
已经是Integer
的默认值,因此需要定义它 .您不必在
sum
的视图中明确定义readonly
,因为默认情况下,没有反向方法的计算字段是只读的 .