odoo运算符

转义符:

注意:在xml文件中使用时Domain 不能直接使用<, >等符号作为domain的operator。 这个不是odoo的问题,而是xml标准的问题

 

 

符号

 

转义

 

>

 

&gt;

 

<

 

&lt;

 

"

 

&quot;

 

'

 

&apos;

 

&

 

&amp;

 

>=

 

&gt;=

 

<=

 

&lt;=

 

!=

 

&gt;&lt;

 

逻辑运算符包括

 

 

符号

 

说明

 

=,>.<,>=,<=,!=

 

比较运算,等于,不等于,大于,大于等于,小于,小于等于

 

丨(or)

 

或,二元运算,表示后面2条条件满足一个就行

 

&(and)

 

与,二元运算,与,表示符号后2个条件同时满足,默认关系,可以省略

 

!(no)

 

非,单目运算,将后面一个条件反转,如果是ture,就变成False

 

like  

 

模糊匹配,通过%value%匹配     

 

=like

 

可以使用模式匹配,下划线-匹配一个字符,百分号%匹配零或者多个字符  

 

ilike   

 

类似like,但是忽略大小写

 

=ilike 

 

类似=like,但是忽略大小写  

 

not like

 

通过%value%不匹配的     

 

not ilike 

 

类似not like,但是忽略大小写

 

=? 

 

未设置或者等于,未设置表示当值是None或者是False,其余和=一样     

 

in

 

判断value是否在元素的列表里面   

 

not in

 

判断value是否不再元素的列表里面

 

child_of 

 

判断是否value的子录,  [(A,'child_of',A)]返回true

 

 

带逻辑运算符复杂的表达式 如下

 

 

['|','&','|',a,b,c,'&',d,e]

 

 

其中a,b,c,e,f,g分别是不带逻辑运算符的表达式,表达式的运算顺序:

 

 

['|','&','|',a,b,c,'&',d,e]

['|','&',(a | b),c,'&',d,e]

['|',((a | b) & c),'&',d,e]

['|',((a | b) & c),(d & e)]

[(((a | b) | c) | (d & e))]

 

 

 

Domin条件表达式规则

domain中的单个条件是一个三个元素组成的元组。

domain=[('hr_expense_ok','=',True)]

最简单的格式:[('字段', '操作符', 值)]

第一个是对象的一个column,也就是字段名;

第二个是比较运算符``=, !=, >, >=, <, <=, like, ilike, in, not in, child_of, parent_left, parent_right``;

第三个就是用来比较的值了。

场景:可以视图,窗口,字段,搜索,ORM中使用。

posted @ 2021-09-16 15:18  ʸ满眼星辰ꦿ℘゜এ  阅读(260)  评论(0)    收藏  举报