当前位置: 代码迷 >> 综合 >> odoo13 多对多字段如何赋值?many2many
  详细解决方案

odoo13 多对多字段如何赋值?many2many

热度:87   发布时间:2024-02-04 11:02:21.0

odoo13 多对多字段如何赋值?many2many

说明上如下

many2many

(0,0,{values}) 根据values里面的信息新建一个记录。

(1,ID,{values})更新id=ID的记录(写入values里面的数据)

(2,ID) 删除id=ID的数据(调用unlink方法,删除数据以及整个主从数据链接关系)

(3,ID) 切断主从数据的链接关系但是不删除这个数据

(4,ID) 为id=ID的数据添加主从链接关系。

(5) 删除所有的从数据的链接关系就是向所有的从数据调用(3,ID)

(6,0,[IDs]) 用IDs里面的记录替换原来的记录(就是先执行(5)再执行循环IDs执行(4,ID))

例子[(6, 0, [8, 5, 6, 4])] 设置 many2many to ids [8, 5, 6, 4]

one2many

(0, 0,{ values })根据values里面的信息新建一个记录。

(1,ID,{values}) 更新id=ID的记录(对id=ID的执行write 写入values里面的数据)

(2,ID) 删除id=ID的数据(调用unlink方法,删除数据以及整个主从数据链接关系)

经过多次试错,最终代码给大家,望能节约一些时间

多对多字段给值@api.onchange('fenlei_id')def _change_jiancexm_ids(self):xms = []xm = self.env['bzgl.jiancexm'].search([('xileim', '=', self.fenlei_id.id)])for d in xm:xms.append(d.id)self.jiancexm_ids = [(6, 0, xms)]

xms=[]这个是关健,先把[]弄好,再通过[(6, 0, xms)]进行

1,ID,{values})更新id=ID的记录(写入values里面的数据)单一的插入还没试成,有成功的可给留言一下。谢谢