本文主要是介绍Odoo12 ORM API ☞ Domains,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Domains
Domains是一个元组列表,每个元组是包含(field_name,operator,value)的三元组(列表或元组),其中:
field_name (str)
当前模型的字段名称,或使用点符号得到Many2one模型中的字段。
operator (str)
用于将field_name与value进行比较的运算符。有效的运算符有:
=
等于
!=
不等于
>
大于
>=
大于等于
<
小于
<=
小于等于
=?
未设置或相等(如果value为None或False,则返回true,否则以 = 计算)
=like
将field_name与值模式匹配。模式中的下划线_代表(匹配)任何单个字符;百分号%匹配任何零个或多个字符的字符串。
like
将field_name与%value%pattern匹配。与=相似,但在匹配前用’%'包装值
not like
与%value%模式不匹配
ilike
不区分大小写将field_name与值模式匹配
not ilike
不区分大小写比较field_name与%value%模式不匹配
=ilike
不区分大小写将field_name与值模式匹配
in
等于任何值的值,值应该是项目列表
not in
不等于任何值
child_of
值记录的子集
需考虑模型的语义(即遵循_parent_name命名的关系字段)。
value
变量类型,必须与命名字段相当(通过运算符)
可以使用前缀形式的逻辑运算符组合域标准:
’&'
逻辑AND,默认操作将标准相互组合,Arity 2(使用接下来的2个标准或组合)。
’|'
逻辑OR,arity 2。
’!'
逻辑NOT,arity 1。
主要是否定标准的组合
个别标准通常具有否定形式(例如= - >!=, - > =),这比否定正确更简单。
Example
要搜索来自比利时或德国的ABC合作伙伴,其语言不是英语:
[('name','=','ABC'),('language.code','!=','en_US'),'|',('country_id.code','=','be'),('country_id.code','=','de')]
domian如下:
(name is 'ABC')
AND (language is NOT english)
AND (country is Belgium OR Germany)
这篇关于Odoo12 ORM API ☞ Domains的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!