0

SQLに関しては、すでにilikeの演算子を知っています。whereクラスに配置すると、このように実行されます

 'PSS01' ilike 'pss01' -> will return true
 'PSS01' ilike '%ss01' -> will return true
 'PSS01' ilike 'ss01' -> will return false

しかし、openerp 7では、このように実行します

 'PSS01' ilike 'pss01' -> returns true
 'PSS01' ilike 'ss01' -> returns true **(it should return false)**

私のコードは以下です

 repeted_ids = prod_serial_obj.search(cr, uid, ['&',('name', 'ilike', line.prod_ser_no),('product_id', '=', product_id)])

誰でもこれを手伝ってもらえますか?

4

1 に答える 1

1

OpenERP は、右側のilike演算子の値をパーセントで自動的にラップします。したがって、ドメインを書くとき

[('name', 'ilike', 'ss01')]

OpenERP に変換

name ilike '%ss01%'

これらのワイルドカード文字が追加されないようにするには、=ilike演算子を使用する必要があります。

[('name', '=ilike', 'ss01')]

に変換されます

name ilike 'ss01'
于 2013-05-25T09:07:55.247 に答える