m2m字段的context屬性接收一個 tree_view_ref 屬性,通過它指定特定的打開視圖即可。
舉個例子:
1. 首先自定義一個打開字段模型的tree視圖:
<!--Tree M2M Select View-->
<record model="ir.ui.view" id="{tree_id}">
<field name="name">Tree M2M Select View</field>
<field name="model">{model_name}</field>
<field name="priority" eval="20"/>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="active_flag"/>
</tree>
</field>
</record>
注意:
最好指定一個priority屬性值>16,否則可能會將你原來model的tree視圖也跳轉到新寫的tree上了(odoo8中會出現這個情況 默認值16 加載默認取最新的視圖);或者,你可以在action上指定一個view_ids,保證原生的視圖一定連接到對應的類型視圖:
<field name="view_ids"
eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('{module_name}.{tree_view_id}')}),
(0, 0, {'view_mode': 'form', 'view_id': ref('{module_name}.{form_view_id}')})]"/>
2. 在對應的m2m字段上指定視圖
<field name="element_ids" context="{'tree_view_ref': '{module_name}.{tree_id}'}">
簡單的總結,就到這裏吧,大家如果有更好的方式請分享給我~