过滤表达式 Domain

常用的 ORM 方法章节中提到了 search 查询方法,这一章节就大概的讲解一下,Odoo 的 Domain 过滤表达式。

Domain 是一个列表类型的参数,他的每一个元素可以是一个三个元素组成的元组 '(字段名, 运算符, )',或者是 | (或)、 & 运算符, 例如:

[('name' , '=' , 'ABC' ), 
 ('language.code' , '!=' , 'en_US' ), 
 '|' , ('country_id.code' , '=' , 'be' ), 
     ('country_id.code' , '=' , 'de' )]

也可以写成:

[ '|' ,
    ('country_id.code' , '=' , 'be' ), 
    ('country_id.code' , '=' , 'de' ),
 '&',
    ('name' , '=' , 'ABC' ), 
    ('language.code' , '!=' , 'en_US' ), 
     ]

这个 Domain 的意思是,搜索一个名称为 ABC,并且语言不是英语,城市可以是比利时或德国的一条记录。

⚠️ |& 运算符需要放在两个条件之前,这点要注意。

这种写法叫波兰表示法有兴趣的可以去了解一下。

运算符可以参考官方文档,这里就不一一举例了。

results matching ""

    No results matching ""