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

Odoo中如何配置Many2many字段使其在搜索视图中可搜索

Odoo Many2many字段搜索功能配置调整方案

问题原因

原有配置直接将Many2many类型的employee_ids字段放入搜索视图时,Odoo默认使用=操作符做完全匹配,即只有当记录关联的员工集合与选中值完全一致时才会命中结果,不符合多对多字段“关联即匹配”的搜索预期,同时搜索弹窗的员工选值范围未继承模型字段上的domain约束,会出现可选值与表单规则不一致的问题。

调整步骤

只需要修改搜索视图中employee_ids字段的属性,补充选值范围和搜索匹配规则即可,调整后完整的搜索视图代码如下:

<field name="name">training.request.filter</field>
<field name="model">training.request</field>
<field name="arch" type="xml">
    <search string="Search Training Requests">
        <field 
            name="employee_ids"
            domain="[('id', '!=', manager_id)]"
            filter_domain="[('employee_ids', 'in', self)]"
        />
    </search>
</field>

配置说明

  • domain="[('id', '!=', manager_id)]":与模型字段上的domain规则保持一致,限制搜索时弹出的员工选择列表中排除负责人,和表单编辑时的选值逻辑统一
  • filter_domain="[('employee_ids', 'in', self)]":覆盖默认的精确匹配逻辑,只要培训请求关联的员工列表包含选中的员工,就会出现在搜索结果中,符合多对多字段的常规搜索需求

调整完成后升级模块,更新搜索视图即可正常使用该字段的搜索功能,既支持下拉选择员工精确匹配,也支持输入员工姓名模糊检索后选中搜索。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 03:30:52