odoo运算符
转义符:
注意:在xml文件中使用时Domain 不能直接使用<, >等符号作为domain的operator。 这个不是odoo的问题,而是xml标准的问题
|
符号 |
转义 |
|
> |
> |
|
< |
< |
|
" |
" |
|
' |
' |
|
& |
& |
|
>= |
>= |
|
<= |
<= |
|
!= |
>< |
逻辑运算符包括
|
符号 |
说明 |
|
=,>.<,>=,<=,!= |
比较运算,等于,不等于,大于,大于等于,小于,小于等于 |
|
丨(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中使用。

浙公网安备 33010602011771号