Searching for records
Searching for records is also a common operation in business logic methods. This recipe shows how to find all the Partner
companies and their contacts by company name.
Getting ready
This recipe will be using the same simplified res.partner
definition as the Creating new records recipe previously. You may refer to this simplified definition to know the fields.
We will write the code in a method called find_partners_and_contact(self, name)
.
How to do it…
In order to find the partners, you need to perform the following steps:
Get an empty recordset for
res.partner
:@api.model def find_partners_and_contacts(self, name): partner = self.env['res.partner']
Write the search domain for your criteria:
domain = ['|', '&', ('is_company', '=', True), ('name', 'like', name), '&', ('is_company', '=', False), ('parent_id.name', 'like', name) ...