在Odoo10的向导中,要从Many2many字段中删除数据,可以通过自定义方法来实现。下面是一个完善且全面的答案:
在Odoo10中,Many2many字段是一种用于建立多对多关系的字段类型。通过向导中的自定义方法,可以从Many2many字段中删除数据。下面是一种实现方式:
models.py
文件中添加以下代码:class CustomWizard(models.TransientModel):
_name = 'custom.wizard'
@api.multi
def remove_data(self):
# 获取当前向导的记录
record = self.env['your.model'].browse(self._context.get('active_id'))
# 从Many2many字段中删除数据
record.many2many_field -= self.env['your.model'].browse(self._context.get('active_ids'))
views.xml
文件中添加以下代码:<record id="custom_wizard_view" model="ir.ui.view">
<field name="name">custom.wizard.view.form</field>
<field name="model">custom.wizard</field>
<field name="arch" type="xml">
<form>
<header>
<button name="remove_data" string="Remove Data" type="object" class="oe_highlight"/>
</header>
</form>
</field>
</record>
data.xml
文件中添加以下代码:<record id="custom_wizard_action" model="ir.actions.act_window">
<field name="name">Custom Wizard</field>
<field name="res_model">custom.wizard</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<menuitem id="custom_wizard_menu" name="Custom Wizard" action="custom_wizard_action"/>
通过以上步骤,我们可以在Odoo10中创建一个自定义向导,并在该向导中添加一个按钮。当点击按钮时,会触发自定义方法remove_data
,从Many2many字段中删除数据。
请注意,以上代码中的your.model
需要替换为实际的模型名称,many2many_field
需要替换为实际的Many2many字段名称。
推荐的腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体的产品选择应根据实际需求进行评估和决策。
Elastic 中国开发者大会
云+社区技术沙龙[第14期]
云+社区技术沙龙[第21期]
Elastic 中国开发者大会
云+社区技术沙龙[第12期]
云+社区技术沙龙[第27期]
Elastic 实战工作坊
领取专属 10元无门槛券
手把手带您无忧上云