This question has been flagged
3 Replies
18471 Views

in XML RPC you can search for models with arguments like this:

args = [( "name", "=", category_values['name']),]

but what other operator exists beside =, <=, >= ?

in this instance I'm searching for something that acts like MYSQL's LIKE

name LIKE %category_values['name']%

Is this even possible here?

Avatar
Discard
Best Answer

Postgres has like and ilike to search with or without case-sensitive application. The other parameters are:

like : [('name', 'like', 'John%')]
ilike : [('name', 'ilike', 'John%')]
= : [('product_id', '=', 122)]
in : [('state', 'in', ('draft', 'done'))]
< : [('price_unit', '<', 14.50)]
<= : >[('price_unit', '<=', 14.50)]
> : [('price_unit', '>', 14.50)]
>= : [('price_unit', '>=', 14.50)]
!= : [('product_id', '!=', 122)]

Also, is interresting to know that OpenERP use Polish Notation to concatenate more search argument. For example if you wanna search a customer with name John you can use:

[('name', 'ilike', 'John%'), ('customer', '=', True)]

Note: the AND operator is implied. If You wanna search a partner called John or Jack you can use this code:

['|', ('name', 'ilike', 'John%'), ('name', 'ilike', 'Jack%')]

where | is the OR operator.

Avatar
Discard
Best Answer

Can anyone tell how to write this in php with xmlrpc?

Avatar
Discard
Best Answer

Regarding XML-RPC Complete solution is here,

http://goo.gl/rZP1Y6

$data = $rpc->searchread( array(array('email','!=','')), "res.partner"); // CORRECT

Avatar
Discard