OpenERP/Odoo模型关系XML语法 [英] OpenERP/Odoo model relationship XML syntax
问题描述
我正在使用OpenERP 7.0.
下面的代码来自文件addons/project/security/project_security.xml
I'm working with OpenERP 7.0.
The code below is from the file addons/project/security/project_security.xml
请解释一下4、6和0的数字是哪里来的? 我可以在文档中的哪个位置进行查询?
Please explain me where the number 4, 6 and 0 are from? Which place in the document I can consult about this?
<record id="group_project_user" model="res.groups">
<field name="name">User</field>
<field name="category_id" ref="base.module_category_project_management"/>
</record>
<record id="group_project_manager" model="res.groups">
<field name="name">Manager</field>
<field name="category_id" ref="base.module_category_project_management"/>
<field name="implied_ids" eval="[(4, ref('group_project_user'))]"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
<record model="ir.ui.menu" id="base.menu_definitions">
<field name="groups_id" eval="[(6,0,[ref('group_project_manager')])]"/>
</record>
推荐答案
对于many2many field
,应该有一个元组列表.
这是被接受的元组列表,具有相应的语义:
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]
对于一个one2many字段,应该有一个元组列表. 这是被接受的元组列表,具有相应的语义:
For a one2many 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)
Example:
[(0, 0, {'field_name':field_value_record1, ...}), (0, 0, {'field_name':field_value_record2, ...})]
我希望这可以消除您的疑虑
I hope this clears your doubts
感谢和问候
这篇关于OpenERP/Odoo模型关系XML语法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!