OpenERP/Odoo模型关系XML语法

Tee*_*wan 5 openerp odoo-8

我正在使用OpenERP 7.0.下面的代码来自文件addons/project/security/project_security.xml

请解释我4号,6号和0号的来自哪里?我可以在文档中找到哪个位置?

<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>
Run Code Online (Sandbox Code Playgroud)

Yas*_*eef 15

对于a many2many field,预期元组列表.这是接受的元组列表,具有相应的语义:

(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]
Run Code Online (Sandbox Code Playgroud)

对于one2many字段,需要一个元组列表.这是接受的元组列表,具有相应的语义:

(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, ...})]
Run Code Online (Sandbox Code Playgroud)

我希望这能解决你的疑虑

感谢致敬

  • 在ORM模型和方法下查看Odoo.com上的文档.魔术数字很奇怪,但保存代码. (2认同)
  • 感谢Adrian的指导.我在这里找到了它[https://doc.odoo.com/6.0/developer/2_5_Objects_Fields_Methods/methods/](https://doc.odoo.com/6.0/developer/2_5_Objects_Fields_Methods/methods/) (2认同)