Odoo实现默认筛选和默认排序

Posted by Ethan on 2019-08-19

筛选(search)视图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<record id="view_search_partner" model="ir.ui.view">
<field name="name">Partner Filters</field>
<field name="model">library.partner</field>
<field name="arch" type="xml">
<search>
<field name="op_type"/>
<group expand="0" string="Group By">
<filter name="group_by_member" string="Member" domain="[]"
context="{'group_by':'op_type'}"/>
<filter name="filter_author" string="Author" domain="[('op_type', '=', 'author')]"/>
<filter name="filter_publish" string="Publish" domain="[('op_type', '=', 'publish')]"/>
<filter name="filter_partner" string="Partner" domain="[('op_type', '=', 'partner')]"/>
</group>
</search>
</field>
</record>

添加默认筛选

使用search_default_name, 其中name为<filter>name

1
2
3
4
5
6
7
8
<record id="action_library_partner" model="ir.actions.act_window">
<field name="name">Library Partner</field>
<field name="res_model">library.partner</field>
<field name="view_type">form</field>
<field name="context">{'search_default_group_by_member': True}</field>
<field name="search_view_id" ref="view_search_partner"/>
<field name="limit">5</field>
</record>

在tree视图中实现字段排序 使用default_order

1
2
3
4
5
6
7
8
9
10
11
12
13
<!--    tree视图-->
<record id="view_tree_book" model="ir.ui.view">
<field name="name">Book List</field>
<field name="model">library.book</field>
<field name="arch" type="xml">
<tree string="" default_order="date_published desc">
<field name="name"/>
<field name="author_ids_ids" widget="many2many_tags" options="{'color_field': 'color'}"/>
<field name="publisher_id_id"/>
<field name="date_published"/>
</tree>
</field>
</record>