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

Odoo 10中如何在Domain中设置OR条件过滤Student模型数据

解决Odoo动作视图中OR域条件的设置问题

嘿,你这里的问题出在Odoo域条件的OR逻辑写法上!Odoo的域语法里,OR逻辑是通过特殊的'|'运算符来实现的,而不是直接写OR关键字,你原来的写法不符合框架的规则哦。

正确的代码示例:

<record id="action_view_student" model="ir.actions.act_window.view">
    <field name="view_mode">tree</field>
    <field name="view_id" ref="view_student" />
    <field name="act_window_id" ref="action_view_student" />
    <field name="domain">['|', ('name', 'in', ['a','b']), ('course', 'in', ['x','y'])]</field>
</record>

核心语法说明:

  • Odoo的域是一个列表结构,默认情况下列表内的多个条件是**AND(且)**的关系
  • 要实现OR(或)关系,需要在对应的两个条件前加上'|'这个特殊标记,它会将紧随其后的两个条件标记为“或”逻辑
  • 如果涉及更复杂的组合逻辑,比如嵌套AND/OR:
    • 实现(A OR B) OR C:['|', '|', A, B, C]
    • 实现A OR (B AND C):['|', A, '&', B, C]('&'是显式的AND标记,默认可省略,但嵌套时建议显式写出)

这样调整后,就能正确筛选出姓名为a、b,或者课程为x、y的学生啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:07:49