many2many 字段上的 Odoo 特定表单视图

fue*_*git 1 python view openerp python-2.7 odoo-9

我有 many2many 领域:

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

和一块 xml

 <page string="Order">
        <field name="supply_ids"/>
 </page>
Run Code Online (Sandbox Code Playgroud)

我只有一个 supply.conditions 表单视图,但我想创建另一个(字段较少)并将其显示在 supply_ids 字段单击:

"Add object" -> "Create"
Run Code Online (Sandbox Code Playgroud)

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

CZo*_*ner 5

使用 like 创建第二个表单视图

<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>
Run Code Online (Sandbox Code Playgroud)

然后使用上下文在您的领域调用它:

<page string="Order">
    <field name="supply_ids"
        context="{'form_view_ref':'my_module.view_supply_conditions_form2'}"/>
</page>
Run Code Online (Sandbox Code Playgroud)

编辑:

列表和搜索视图的相应上下文键是tree_view_refsearch_view_ref

感谢@Fractalf