odoo对m2m,x2m,o2m,many2many one2many的操作代码, odoo17,16-10适用

除了在代码中,在xml定义数据中也经常用到

many2many

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

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

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

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

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

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

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

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

self.write({
'users':[(6, 0, [8, 5, 6, 4])]
})

在xml中设置

<field name="users" eval="[(6,0,[ref('base.user_root')])]"/>

 

one2many

同上,也是 [] 类型

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

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

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

(5, 0, 0) 删除所有的从数据的链接关系

多规格产品自动唯一sku编码,自动条码模块,odoo12,11,10支持