我有两种看法: 1.注册表查看 2 更新注册向导 View 。 楷模 : 1 注册 2个成员
我正在设置一个包含 Many2many 字段(“成员”)的注册过程。 注册过程后,一个按钮(更新成员)显示在表单 View 上。 单击此按钮时会出现一个向导窗口,其中显示了注册成员(member)。 在这里我需要删除一些成员(从向导中列出的成员)并单击 ApplyChanges 按钮进行更改(调用自定义函数 - ApplyChanges)。 atlast 更改将应用于主要注册模型。我该怎么做??
incoming_member_ids = fields.Many2many("members", String='Incoming Members')
outgoing_member_ids = fields.Many2many("members", String='Outgoing Members')
### incoming members list
if x.action_type == 'incoming_members':
for incoming_partner in x.incoming_members_ids:
incoming_member_ids.append(incoming_member.id)
if not incoming_member_ids:
continue
self.env['registered.members'].create({
'member_ids': incoming_member_ids[0],
})
incoming_member_ids.remove(incoming_member_ids[0])
return True
### Outgoing members list
elif x.action_type == 'outgoing_members':
for outgoinging_member in res.outgoing_member_ids:
outgoing_member_ids.append(outgoinging_member.id)
if not outgoing_member_ids:
continue
self.env['registered.members'].create({
'member_ids': outgoing_member_ids[0],
})
outgoing_member_ids.remove(outgoing_member_ids[0])
return True
最佳答案
要从 man2many
字段中删除特定 id 的关系,您必须在该字段上使用 odoo
提供的符号。假设您要对其执行操作的记录集是 records
,man2many 字段是 outgoing_member_ids
,您要从该关系中删除的 id 是 outgoing_member_ids[0]
,你必须写:
records.write({'outgoing_member_ids': [(3, outgoing_member_ids[0])]})
关于python - 如何通过 odoo 10 向导中的自定义方法从 Many2many 字段中删除数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54242962/