Odoo Many2many One2many字段的操作

Many2many和OneMany字段的每个操作命令都是一个包含三个元素的元组

第一个元素是必须的整数,用于标识命令.

CREATE= 0
UPDATE= 1
DELETE= 2
UNLINK= 3
LINK= 4
CLEAR= 5
SET= 6

第二个元素 当命令是update, delete, unlink and link的时候用于设置命令相关的记录ID,当命令是create, clear and set的时候,其值为0.

第三个元素 当命令是create and update时候是用于写入记录的值,当命令是set的时候用于设置相关记录的新ID的列表,当命令是delete, unlink, link, and clear的时候,其值为0.

第三个元素为0,可写也可不写

Create实例:

sale_order = self.env['sale.order'].create({
    'partner_id': self.partner_a.id,
    'user_id': salesperson.id,
    'order_line': [(0, 0, {
        'product_id': self.company_data['product_order_no'].id,
        'product_uom_qty': 1,
    })]
})

Update实例:

order.write({'order_line': [(1, order.order_line[0].id, {'product_uom_qty': 2.0})]})

Delete实例:

order.write({'order_line': [(2, order.order_line[0].id, 0)]})

Link实例:

self.stock_location.write({
    'putaway_rule_ids': [(4, putaway.id, 0)]
})

Clear实例:

self.write({
    'starred_partner_ids': [(5, 0, 0)],
    'notification_ids': [(5, 0, 0)],
})

Set实例:

all_categ_id.write({'route_ids': [(6, 0, [mto_route.id])]})
posted @ 2024-11-22 17:41  昔年忆雪  阅读(421)  评论(0)    收藏  举报