x805050398
x805050398
2019-04-06 08:56

Odoo 只读字段如何保存到数据库

  • python
  • postgresql

我用的是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
  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答

为你推荐

换一换