I have seen this eval="[(6, 0, [ref('test_security.base_security_access)])]" and eval="[(4, [ref('test_security.base_security_access')])]" in openerp 7.0 code, what is the use of 6,0 and 4 in security and is there any other combination like this, please explain me.
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project
- MRP
This question has been flagged
From openerp/osv/fields.py
# Values: (0, 0, { fields }) create
# (1, ID, { fields }) update (write fields to ID)
# (2, ID) remove (calls unlink on ID, that will also delete the relationship because of the ondelete)
# (3, ID) unlink (delete the relationship between the two objects but does not delete ID)
# (4, ID) link (add a relationship)
# (5, ID) unlink all
# (6, ?, ids) set a list of links
Yes there are more about this syntax. Please take as a reference a docstring located in the source code of the odoo orm write method for explanation
Thank you so much for helping me and I got this.
For a many2many field, a list of tuples is expected. Here is the list of tuple that are 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)
Example: [(6, 0, [8, 5, 6, 4])] sets the many2many to ids [8, 5, 6, 4]
For a one2many field, a lits of tuples is expected. Here is the list of tuple that are 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)
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
2
Feb 24
|
28402 | ||
|
0
Jul 22
|
3035 | ||
|
0
Oct 17
|
3460 | ||
|
6
Sep 17
|
10439 | ||
|
1
Apr 17
|
2885 |