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

Odoo 16中res.partner列表视图按客户名称排序的问题咨询

客户列表按名称排序解决方案(Odoo 16)

核心结论

Odoo 16完全支持客户(res.partner)列表按名称字段进行升序/降序排序,name作为模型的核心字段,默认具备排序能力。你遇到的无法排序问题,大概率是视图配置异常导致,无需额外创建排序字段,调整视图设置即可解决。

问题排查与解决步骤

1. 检查列表视图中名称字段的可排序属性

默认情况下,res.partner的列表视图中name字段是可排序的,但如果视图被修改(自定义模块或手动编辑),可能被设置为不可排序:

  • 激活开发者模式(右上角头像 → 激活开发者模式)
  • 进入设置 > 技术 > 用户界面 > 视图
  • 搜索模型为res.partner、视图类型为list的视图记录,打开对应视图编辑XML代码
  • 确保name字段的定义没有sortable="False"属性,正确写法示例:
    <field name="name" string="名称" />
    
    如果存在sortable="False",删除该属性或改为sortable="True",保存后刷新页面即可。

2. 处理自定义视图覆盖问题

如果你的系统使用了自定义模块扩展客户列表视图,需确保扩展逻辑未破坏name字段的可排序性:

  • 打开自定义模块的视图XML文件,检查对res.partner列表视图的继承代码
  • 若需要强制设置可排序,可通过属性修改实现:
    <record id="view_res_partner_list_custom" model="ir.ui.view">
        <field name="name">res.partner.list.custom</field>
        <field name="model">res.partner</field>
        <field name="inherit_id" ref="base.view_partner_tree"/>
        <field name="arch" type="xml">
            <field name="name" position="attributes">
                <attribute name="sortable">True</attribute>
            </field>
        </field>
    </record>
    
  • 更新模块并升级后,刷新页面测试排序功能。

特殊情况说明

如果你的系统使用了自定义显示名称逻辑(比如通过计算字段拼接其他信息作为显示名称),则需要确保该计算字段被设置为可排序(在字段定义中添加store=True或设置sort=True),但这种场景属于定制需求,默认name字段无需额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 08:25:05