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

如何设置Odoo数据透视表度量下拉字段顺序?能否修改默认排序?

调整Odoo数据透视表度量下拉菜单的字段顺序与默认显示

嘿,刚好在项目里折腾过这个需求,我来给你梳理两种场景的解决办法——不管是自定义字段排序,还是修改默认显示的度量,都有对应的方案:

一、自定义度量下拉菜单的字段顺序

分三种情况处理,覆盖开发和非开发场景:

1. 针对自己开发的模型字段

如果你是在自定义模块里新增的字段,直接在字段定义时加上sequence参数就行,数值越小,在下拉菜单里的位置越靠前:

class CustomSaleOrder(models.Model):
    _inherit = 'sale.order'
    
    # 优先级最高(最靠前)
    total_quantity = fields.Integer(string='Total Quantity', sequence=5)
    # 中间位置
    total_amount = fields.Monetary(string='Total Amount', sequence=10)
    # 最靠后
    avg_unit_price = fields.Float(string='Avg Unit Price', sequence=15)

2. 针对系统自带的字段

如果要调整Odoo原生模块(比如销售、采购)里的字段顺序,需要通过继承透视表视图来修改:

<record id="inherit_sale_order_pivot" model="ir.ui.view">
    <field name="name">sale.order.pivot.custom.sort</field>
    <field name="model">sale.order</field>
    <field name="inherit_id" ref="sale.view_sale_order_pivot"/>
    <field name="arch" type="xml">
        <!-- 调整原生amount_total的顺序到最前 -->
        <field name="amount_total" position="attributes">
            <attribute name="sequence">5</attribute>
        </field>
        <!-- 调整原生quantity的顺序到中间 -->
        <field name="quantity" position="attributes">
            <attribute name="sequence">10</attribute>
        </field>
    </field>
</record>

部署模块后,重启Odoo并升级模块,就能看到排序变化了。

3. 无代码可视化调整(适合非开发人员)

如果你不想写代码,也可以直接在界面操作:

  • 打开目标数据透视表,点击顶部的「编辑视图」按钮
  • 切换到「度量」标签页,用鼠标拖动字段来调整顺序
  • 调整完成后,点击「保存」,如果要让所有用户都生效,记得勾选「设为默认视图」

二、修改度量下拉菜单的默认显示字段

默认显示的度量就是打开透视表时自动选中的字段,同样有两种方式:

1. 视图配置方式(推荐)

还是通过继承透视表视图,给<pivot>标签添加default_measure属性:

<record id="inherit_sale_order_pivot_default" model="ir.ui.view">
    <field name="name">sale.order.pivot.default.measure</field>
    <field name="model">sale.order</field>
    <field name="inherit_id" ref="sale.view_sale_order_pivot"/>
    <field name="arch" type="xml">
        <pivot position="attributes">
            <!-- 设置默认选中amount_total -->
            <attribute name="default_measure">amount_total</attribute>
        </pivot>
    </field>
</record>

如果需要默认显示多个度量,Odoo原生不直接支持,但你可以让用户手动选中多个度量后,保存为自定义默认视图,或者通过自定义JS来实现(不过这种场景比较少)。

2. 界面保存默认视图

打开透视表后,手动选中你想要默认显示的度量,然后点击「保存视图」,勾选「设为默认视图」,这样下次打开时就会自动加载这些度量了。

注意:如果是多用户场景,保存默认视图时要选择「对所有用户生效」,否则只会对当前用户生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:55:26