Following is the method to update/populate simple field value using on_change method: return {'value' : {'field_name' : <field_value>}} Most of the OpenERP developers will be aware of it. What we will do if we have to add one2many list using on_change method? For example : I want to display list of leaves allotted, leaves taken and leaves pending of an employee. So on_change employee_id I want to show related updated leave list. leave_ids is one2many field in my main table. what we have to do is as follow: leave_ids = [] for record in records: if record: leave_ids.append([0,0, {'holiday_status_id':record,'max_leaves':records[record]['max_leaves'],'leaves_taken':records[record]['leaves_taken'],'remaining_leaves':records[record]['remaining_leaves']}]) return {'value' : {'leave_ids' : leave_ids}} Hopefully it will help someone. If you need more detail