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 @   安静家的咸鱼  阅读(123)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示