Correct way: Browse vs Search ?
I have found in official addons that even though a record has a reference to other records (like one2many), and they already have a browse record with the required information, the programmer still uses the search function to get the list of ids from the database.
hr_employee has a field
contract_ids, that is a one2many relationship to
If I already have
employee_data = employee_obj.browse( blah, blah, blah...)
and I want to access the list of contracts for that employee, what is the right way to get it:
a) Use the list I already have on employee_data.contract_ids and get the information from there,
b) Execute a search on contract object looking for contracts related to the employee, like:
contract_ids = obj_contract.search(cr, uid, [('employee_id','=',emp.id),], context=context)
I would think option a), but I have found that in most cases option b) is used in official addons, so I guess there is a reason for that...
What are cons and pros of each aproach ?