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}'}">
简单的总结,就到这里吧,大家如果有更好的方式请分享给我~