Odoo学习之domain表达式【转载】

https://www.jianshu.com/p/44220031c099

['&', ('partner_id.coutnry_id.code','=','CN'), ('partner_id.coutry_id.code','=','US')]Odoo是使用了波兰表示法,简单来说,波兰表示法是一种操作符置于操作数前,并且不需要括号仍然能无歧义地解析表达的方法。波兰表示法的运算顺序以二元运算为例,从左至右读入表达式,遇到一个操作符后跟随两个操作数时,则计算之,然后将结果作为操作数替换这个操作符和两个操作数;重复此步骤,直至所有操作符处理完毕。举个栗子['|','&','|',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))]
逻辑运算符包括符号说明
丨(or)或,二元运算
&(and)与,二元运算
!(no)非,单目运算
逻辑运算符默认是'与',‘与’运算符可以不写。

原文地址:https://www.cnblogs.com/plusUltra/p/11152668.html