Domain中 like 的多种用法
-
今天 在 search 中有个 domain 要写
我需要 匹配的是,
字段左边 的值, 但是 like 操作 匹配的是 字段任意位置的值.
比如:
[('nwtcode', 'like',metric_spec)]
跟踪sql 发现产生的 sql 条件是这样的
AND ("ia_multi_layers"."nwtcode" like '%8980%'))
群里请教后 总监 提示 '=like'
于是
[('nwtcode', '=like',metric_spec+'%')]
产生的 sql 条件是 :
AND ("ia_multi_layers"."nwtcode" like '8980%'))
就是说 =like 操作符时, 直接使用表达式的值 作为 匹配模版
===========
搜索 代码, 发现还有更多的 操作符, 文档中未说明
openerp\osv\expression.py line:159
TERM_OPERATORS = ('=', '!=', '<=', '<', '>', '>=', '=?', '=like', '=ilike',
'like', 'not like', 'ilike', 'not ilike', 'in', 'not in',
'child_of')