Monday 17 August 2015

one2many, many2many, many2one field in openerp


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 

5 comments:

  1. For many2one field we only need to set record ID.pls can you give an example of for many2one.

    ReplyDelete
    Replies
    1. my_m2o_field = 1

      Where 1 represent the record id of Many2one target table.

      Delete
  2. I have just started using Odoo, In onetomany example of sale_order it will have record & multiple items.
    For field order_line takes (0,0,{values}) this takes only one item, why not multiple or how to add multiple items?

    ReplyDelete
    Replies
    1. 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.

      Delete
  3. HI 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.
    THANKS IN ADVANCE...

    ReplyDelete

ImportError: cannot import name 'utils' from 'PyPDF2'

Odoo 15: Traceback (most recent call last):   File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner     self...