Skip to main content
 首页 » 编程设计

python之many2many 字段上的 Odoo 特定表单 View

2025年05月04日16yyy_WW

我有 many2many 字段:

supply_ids = fields.Many2many(comodel_name='supply.conditions', 
                                          relation='purchase_supply_rel', 
                                          column1='purchase_requests_id', column2='supply_conditions_id', 
                                          string='Supply Conditions') 

和一段xml

 <page string="Order"> 
        <field name="supply_ids"/> 
 </page> 

我只有一个 supply.conditions 表单 View ,但我想创建另一个(字段较少)并在 supply_ids 字段点击时显示它:

"Add object" -> "Create" 

我不知道单击“添加对象”时调用了什么方法,或者我如何在“添加对象”->“创建”按钮上选择特定的表单 View ..

请您参考如下方法:

用 like 创建第二个表单 View

<record id="view_supply_conditions_form2" model="ir.ui.view"> 
    <field name="name">...</field> 
    <field name="model">supply.conditions</field> 
    <field name="priority">17</field> 
    <field name="arch" type="xml"> 
        <!-- and so on --> 
    </field> 
</record> 

然后在您的字段上根据上下文调用它:

<page string="Order"> 
    <field name="supply_ids" 
        context="{'form_view_ref':'my_module.view_supply_conditions_form2'}"/> 
</page> 

编辑:

列表和搜索 View 对应的上下文键是 tree_view_ref 和 search_view_ref。

感谢@Fractalf