Skip to Content
Menu
This question has been flagged
3 Replies
41169 Views

I want know about search and search_read difference...

Avatar
Discard
Best Answer

Hi , Here its from API guidelines..


Searching

Searching has not changed a lot. Sadly the domain changes announced did not meet release 8.0.

You will find main changes below.


search

Now seach function returns directly a RecordSet:

>>> self.search([('is_company', '=', True)])

res.partner(7, 6, 18, 12, 14, 17, 19, 8,...)

>>> self.search([('is_company', '=', True)])[0].name

'Camptocamp'

You can do a search using env:

>>> self.env['res.users'].search([('login', '=', 'admin')])

res.users(1,)


search_read

A search_read function is now available. It will do a search and return a list of dict.

Here we retrieve all partners name:

>>> self.search_read([], ['name'])

[{'id': 3, 'name': u'Administrator'},

{'id': 7, 'name': u'Agrolait'},

{'id': 43, 'name': u'Michel Fletcher'},

...]

Avatar
Discard
Best Answer

As per the Odoo new api

search will return list of record set of the object.

i.e.

 res.partner(7,)

and

search_read will return the list of dictionary containing the value of fields

i.e.

 [{'id':7, 'name': 'Openies', 'desc': 'Odoo Services'}]

Avatar
Discard