从XML文件更改记录字段的内容

时间:2012-12-12 10:27:30

标签: xml-serialization openerp

在OpenERP中,XML字段用于加载模块数据。 <record>标记用于此目的。 重新安装模块时,将使用XML文件中的当前数据重写记录。

但有没有办法只更改其中一个记录字段而不重写所有其他记录字段?

例如,在addons/project_issue/project_issue_view.xml中我们有这个动作定义:

    <record id="project_issue_categ_action" model="ir.actions.act_window">
        <field name="name">Issue Categories</field>
        <field name="res_model">crm.case.categ</field>
        <field name="view_type">form</field>
        <field name="view_id" ref="crm.crm_case_categ_tree-view"/>
        <field name="domain">[('object_id.model', '=', 'project.issue')]</field>
        <field name="context" eval="{'object_id': ref('model_project_issue')}"/>
    </record>

是否可以仅更改自定义模块的XML文件中的name字段?

我已经尝试过:

    <record id="project_issue.project_issue_categ_action" model="ir.actions.act_window">
        <field name="name">Issue Categorization</field>
    </record>

    <update id="project_issue.project_issue_categ_action" model="ir.actions.act_window">
        <field name="name">Issue Categorization</field>
    </update>

1 个答案:

答案 0 :(得分:2)

<record id="project_issue.project_issue_categ_action" model="ir.actions.act_window">
    <field name="name">Issue Categorization</field>
</record>

您的代码将更改名称,但不会影响菜单名称。您可以在表单和树视图中查看给定的操作名称。 要更改菜单名称,您必须仅覆盖菜单而不是操作。

例如:

<record id="project_issue.menu_project_issue_category_act" model="ir.ui.menu">
    <field name="name">Issue Categorization</field>
</record>

您甚至可以参考Apply groups on already created menus