1、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))
大概的需求是:在表头有一个Boolean型的字段,当该字段为true1、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))
大概的需求是:在表头有一个Boolean型的字段is_business,当该字段值为true时,向子表添加一条记录,有一个m2m的字段business_organization_ids。
直接使用了(6,0,[ids]),因为只需要插入一条记录,所以在list中只需要写一个id就行,实际上ids是一个id集,可以插入多条记录,只需要将需要插入的记录的id添加就可以了。
只用了(6,0,[ids]),其他的几种在后续用的时候再深入了解。
2、python零碎知识
zfill()方法语法:
str.zfill(width): width – 指定字符串的长度。原字符串右对齐,前面填充0。
效果:odoo.zfill(6) 结果:00odoo
rjust()方法语法:
str.rjust(width[, fillchar]): width – 指定填充指定字符后中字符串的总长度.
fillchar – 填充的字符,默认为空格。
效果:odoo.rjust(6,'a') 结果:aaodoo