模块更新后,Odoo不会添加新的XML文件

时间:2016-06-17 14:30:39

标签: python python-2.7 openerp odoo-8 openerp-8

我的项目中已安装了一个模块,其中包含几个新表。现在,我想添加与这些表关联的XML来创建菜单项。

在我的 openerp .py中,我有这段代码:

 'data': ['main.xml', 'security/ir.model.access.csv']

现在,我想添加一个包含我的XML的新文件:

 'data': ['main.xml', 
          'trips.xml',
          'security/ir.model.access.csv']

trips.xml看起来像这样:

<openerp>
    <data>

        <record id="action_partner_trip_form" model="ir.actions.act_window">
            <field name="name">Trips</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">res.partner.trip</field>
            <field name="view_type">form</field>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                Click to create a new trip.
              </p>
            </field>
        </record>

        <menuitem action="action_partner_trip_form" name="Trips" sequence="4" parent="base.menu_sales" groups="base.group_no_one"/>
    </data>
</openerp>

我重新启动了服务器并更新了我的主程序包,但新的XML未加载到应用程序中。此外,我的日志中没有错误。

当然,如果我卸载 - &gt;重新安装它,我的XML被加载,我的菜单项被添加,但我丢失了宝贵的数据。

2 个答案:

答案 0 :(得分:3)

 <menuitem action="action_partner_trip_form" name="Trips" sequence="4" parent="base.menu_sales" groups="base.group_no_one"/>

赢了工作。

我们需要在菜单项中添加一个ID:

 <menuitem id="menu_trips" action="action_partner_trip_form" name="Trips" sequence="4" parent="base.menu_sales" groups="base.group_no_one"/>

答案 1 :(得分:-1)

如果你很勇敢,请使用pgAdmin III删除视图表单ir_ui_view表。确保您还删除所有相关表中的数据,例如ir_ui_view。有时OpenERP没有意识到xml中有更新。通过删除ir_ui_view中的正确数据,可以确保在您希望保留的原始数据仍存储在数据库中时必须重新创建视图。

请注意,如果出现问题,如果你不知道自己在做什么,就会出现严重错误。

更好的方法是使用OpenERP接口。转到菜单设置 - &gt;技术 - &gt;用户界面 - &gt;视图。搜索视图并删除模块的视图。现在再次更新/升级模块。