In OpenERP/Odoo, we have one2many and many2many datatype field. For add, update, delete we have some trick to link with record, which are listed below.
1. (0, 0, { values }) link to a new record that needs to be created with the given values dictionary
2. (1, ID, { values }) update the linked record with id = ID (write *values* on it)
3. (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)
4. (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)
5. (4, ID) link to existing record with id = ID (adds a relationship)
6. (5) unlink all (like using (3,ID) for all linked records)
7. (6, 0, [IDs]) replace the list of linked IDs (like using (5) then (4,ID) for each ID in the list of IDs)
one2mnay we will use 1,2,3 points and for many2many we will use all the points.
For many2one field we only need to set record ID.
For more details, Please visit Odoo documentation
Youtube Video
1. (0, 0, { values }) link to a new record that needs to be created with the given values dictionary
2. (1, ID, { values }) update the linked record with id = ID (write *values* on it)
3. (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)
4. (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)
5. (4, ID) link to existing record with id = ID (adds a relationship)
6. (5) unlink all (like using (3,ID) for all linked records)
7. (6, 0, [IDs]) replace the list of linked IDs (like using (5) then (4,ID) for each ID in the list of IDs)
one2mnay we will use 1,2,3 points and for many2many we will use all the points.
For many2one field we only need to set record ID.
For more details, Please visit Odoo documentation
Youtube Video
For many2one field we only need to set record ID.pls can you give an example of for many2one.
ReplyDeletemy_m2o_field = 1
DeleteWhere 1 represent the record id of Many2one target table.
I have just started using Odoo, In onetomany example of sale_order it will have record & multiple items.
ReplyDeleteFor field order_line takes (0,0,{values}) this takes only one item, why not multiple or how to add multiple items?
For multiple items, we have to use list. In that list, we have to append items one by one (0,0, {values}). And finally, we need to add that list into order_line: list in sale.order object.
DeleteHI I HAVE ONE MANY2ONE FIELD WHOSE VALUE I WANT TO ENTER IN MULTIPLE CREATED ONE2MANY ON ONCHANGE OF MANY2ONE. CAN YOU PLEASE TELL HOW TO DO IT.
ReplyDeleteTHANKS IN ADVANCE...