You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo搜索视图中调整搜索面板条目显示顺序的技术问询

调整Odoo搜索面板条目显示顺序的解决方案

核心思路:从字段定义或搜索视图配置入手

Odoo搜索面板里的状态类筛选条目,默认优先级是模型中selection字段的定义顺序,其次是搜索视图中filter标签的排列顺序。

方法1:修改模型中selection字段的定义顺序

找到对应模型的状态字段(比如state),直接调整selection列表里的选项顺序,改成你需要的distribution、awaiting approval、done:

state = fields.Selection([
    ('distribution', 'Distribution'),
    ('awaiting_approval', 'Awaiting Approval'),
    ('done', 'Done'),
], string='Status', default='distribution')

修改后重启Odoo服务并更新模块,搜索面板的筛选顺序会自动同步这个定义顺序。

方法2:调整搜索视图中的filter排列顺序

如果是自定义的搜索筛选器(而非默认的selection字段自动生成的筛选),直接在搜索视图XML里调整<filter>标签的顺序:

<search>
    <!-- 按期望顺序排列filter -->
    <filter name="filter_distribution" string="Distribution" domain="[('state', '=', 'distribution')]"/>
    <filter name="filter_awaiting_approval" string="Awaiting Approval" domain="[('state', '=', 'awaiting_approval')]"/>
    <filter name="filter_done" string="Done" domain="[('state', '=', 'done')]"/>
    <!-- 其他搜索组件 -->
</search>

更新模块后,搜索面板的筛选条目会按这个顺序显示。

为什么之前的方法没生效?

  • Group By/Order By是针对列表数据的排序逻辑,不影响搜索面板的筛选条目顺序;
  • 单独创建compute类型的sequence字段,若未关联到筛选条目的排序逻辑,自然不会生效——Odoo不会自动将sequence字段应用到搜索面板的筛选排序上。

内容的提问来源于stack exchange,提问作者Boris Veselov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 10:42:08