Filling Many2many field (odoo 8) Filling Many2many field (odoo 8) python python

Filling Many2many field (odoo 8)


user_rel_ids = fields.Many2many(comodel_name='course', relation='user_course_rel', column1='user_id', column2='course_id')

Or

user_rel_id = fields.Many2many('course') 

For Filling Data (for add new relation)

user_rel_id = [(4,course_id)]

According to http://odoo4u.blogspot.com/2014/10/orm-methods.html, It says:A full list of options is in the documentation for the class.This same thing will apply for one2many

For a many2many and one2many field, a list of tuples is expected. Here is the list of the tuple that is accepted, with the corresponding semantics:

(0, 0, { values }) link to a new record that needs to be created with the given values dictionary

(1, ID, { values }) update the linked record with id = ID (write values on it)

(2, ID) remove and delete the linked record with id = ID (calls unlink on ID, that will delete the object completely, and the link to it as well)

(3, ID) cut the link to the linked record with id = ID (delete the relationship between the two objects but does not delete the target object itself)

(4, ID) link to existing record with id = ID (adds a relationship)

(5) unlink all (like using (3, ID) for all linked records)

(6, 0, [IDs]) replace the list of linked IDs (like using (5) then (4,ID) for each ID in the list of IDs)


You need to use an onchange method for myfield, then inside it you need to fill the graduations field, something like this:

@api.onchange('myfield'):def _onchange_myfield(self):    #fill graduations field here...    ...


_inherit = 'crm.phonecall'    alarm_ids = fields.Many2many('calendar.alarm',string="Reminders")  set the alarm_ids of calendar.event model in create method of crm phonecall... alarm_ids = [(6,0,self.alarm_ids.ids)] _inherit = 'calendar.event' alarm_ids = fields.Many2many('calendar.alarm',string="Reminders")