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

Odoo16开发者求助:能否设置SearchPanel默认选中状态?

Odoo 16 SearchPanel 设置默认选中值实现方案

要实现SearchPanel默认选中指定值且保留所有可选选项的效果,有两种常用方案:

方案1:通过视图Action上下文直接配置

在目标模型的视图Action中,通过context参数添加search_panel_default_{字段名}配置,指定默认选中的值(值以列表形式传入)。

示例代码(XML视图定义):

<record id="action_your_model" model="ir.actions.act_window">
    <field name="name">目标模型视图</field>
    <field name="res_model">your.model</field>
    <field name="view_mode">tree,form</field>
    <!-- 假设要默认选中state字段的'draft'选项 -->
    <field name="context">{'search_panel_default_state': ['draft']}</field>
</record>

这种方式简单直接,无需编写额外的Python或JS代码,适合固定默认值的场景。

方案2:通过模型方法动态设置默认值

如果需要根据用户权限、当前环境等动态调整默认选中值,可以重写模型的get_search_panel_defaults方法,自定义返回默认选中配置。

示例代码(Python模型继承):

from odoo import models

class YourModel(models.Model):
    _inherit = 'your.model'

    def get_search_panel_defaults(self):
        res = super().get_search_panel_defaults()
        # 动态设置state字段默认选中'draft',可根据条件调整值
        res['state'] = ['draft']
        return res

注意事项

  • 两种方案都不会隐藏SearchPanel的其他可选选项,仅设置默认选中状态,完全符合你的需求。
  • 替换示例中的your.model和state、draft为你实际的模型名称、字段名和目标选项值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 16:29:58