我用的是Odoo12,要实现字段no选中west,字段name对应存的值是西,其中字段name是只读的,但是只读(readonly)字段默认是不保存到数据库的,我查了资料,要保存的话需要重写create方法和write方法;
保存是保存进去了,但不是保存当前更改的记录,比如字段no从west变成north,字段name保存的西,而不是当前保存的北,从north变成south保存的是北而不是南,我理解的是create方法和write方法是执行时所获取的字段A的值尚未保存,所以是上一次修改的记录。
想请教下这种问题怎么解决。
代码:
class Table_test( model.Model ):
_name = 'test.Table_test'
no = fields.Char( string = u"方位", size = 50,
name = fields.Char( string = u"方位", size = 100, readonly = True )
@api.model
def create( self, vals ):
vals['name'] = self.no.name
res = super(Table_test, self).create(vals)
return res
@api.multi
def write( self, vals):
vals['name'] = self.no.name
res = super(Table_test, self).write(vals)
return res