我知道 openerp 域中的几个运营商。我没有得到可用域的详细信息及其解释。特别是对于这些否定域。谁能告诉我详细清单?
2 回答
这给出了一个概述:
域运算符列表:(!
非)、|
(或)、&
(与)
术语运算符列表:'=', '!=', '<=', '<', '>', '>=', '=?', '=like', '=ilike', 'like', 'not like', 'ilike', 'not ilike', 'in', 'not in', 'child_of'
用法:
输入记录:
记录 1:Openerp
记录 2:openerp
记录 3:Opensource
记录 4:opensource
记录 5:Open
记录 6:open
记录 7:Odoo
记录 8:odoo
记录 9:Odooopenerp
记录 10:OdooOpenerp
'like': [('input', 'like', 'open')]
- 返回区分大小写(通配符 - '%open%')的搜索。
O/p:开放、开源、openerp、Odooopenerp
'not like': [('input', 'not like', 'open')]
- 返回与区分大小写(通配符 - '%open%')搜索不匹配的结果。
O / p:Openerp,开源,开放,Odoo,odoo,OdooOpenerp
'=like': [('name', '=like', 'open')]
- 返回精确(= 'open')区分大小写的搜索。
O / p:打开
'ilike': [('name', 'ilike', 'open')]
- 返回不区分大小写(通配符 - '%open%')的搜索。
O / p:Openerp,openerp,开源,开源,开放,开放,Odooopenerp,OdooOpenerp
'not ilike': [('name', 'not ilike', 'open')]
- 返回与完全不区分大小写(通配符 - '%open%')搜索不匹配的结果。
O/p:Odoo,Odoo
'=ilike': [('name', '=ilike', 'open')]
- 返回精确(= 'open' 或 'Open')不区分大小写的搜索。
O/p:打开,打开
'=?':
name = 'odoo' parent_id = False
[('name', 'like', name), ('parent_id', '=?', parent_id)]
- 返回名称域结果 & True
name = 'odoo' parent_id = 'openerp'
[('name', 'like', name), ('parent_id', '=?', parent_id)]
- 返回名称域结果和 parent_id 域结果
'=?是短路,如果正确为 None 或 False,则使术语为 TRUE,'=?'
其行为类似于'='
其他情况
'in':
[('value1', 'in', ['value1', 'value2'])]
- in 运算符将检查 value1 是否存在于右项列表中
'not in':
[('value1', 'not in', ['value2'])]
- not in 运算符将检查 value1 是否存在于右项列表中虽然这些 'in' 和 'not in' 适用于值的列表/元组,但后者
'='
适用'!='
于字符串
'=':
value = 10
[('value','=',value)]
- term left side has 10 in db and term right our value 10 will match
'!=':
value = 15
[('value','!=',value)]
- term left side has 10 in db and term right our value 10 will not match
'child_of':
parent_id = '1' #Agrolait 'child_of':
[('partner_id', 'child_of', parent_id)]
- 返回给定 parent_id 的 partner_id 的左右列表
'<=', '<', '>', '>=':
这些操作符在 openerp 中主要用于比较日期 - [('date', '>=', date_begin), ('date', '<=', date_end)]
。您也可以使用这些运算符来比较 int 或 float。
过滤器语法中域中的条件 A 和条件 B 就像
<filter name="filtering" string="Filtering" domain="[(A),(B)]" />