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.
Этот вопрос был отмечен
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)
Не оставайтесь в стороне – присоединяйтесь к обсуждению!
Создайте аккаунт сегодня, чтобы получить доступ к эксклюзивным функциям и стать частью нашего замечательного сообщества!
Регистрация| Похожие посты | Ответы | Просмотры | Активность | |
|---|---|---|---|---|
|
|
2
февр. 24
|
30797 | ||
|
|
0
июл. 22
|
3035 | ||
|
|
0
сент. 17
|
5375 | ||
|
|
6
сент. 17
|
12721 | ||
|
|
1
апр. 17
|
4697 |