Odoo中One2many与Many2many中的三元组列表(list of triplets)

  在odoo中,经常会看到类似如下的代码:

      self.write({
            ####
            'move_orig_ids': [(5, 0, 0)],
            ####
        })

  上面代码中的(5,0,0)就是在odoo的多对多、一对多数据操作中,常用到的三元组列表。主要有以下这些:

  (0, 0, values) :用所提供的values值新增一条记录

  (1, id, values) :用values值更新对应id已存在的记录(不能在create()中使用)

  (2, id, 0) :将id匹配记录从集合移除并从数据库中删掉(不能在create()中使用)

  (3, id, 0) : 也是将id匹配记录从集合移除,但并不从数据库中删除

  (4, id, 0) :将已存在的id记录增加到集合中

  (5, 0, 0) : 从集合中删除所有记录,相当于显式地对每条记录使用命令3(3,id,0)(不能在create()中使用)

  (6, 0, ids) : 将集合中的所有现有记录替换为ids列表,相当于对ids中的每个id先使用命令5,再操作命令4。

 

  

 

posted @ 2021-01-16 00:09  Odoo开发与实施  阅读(717)  评论(0)    收藏  举报