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

Odoo do not add new XML file after module update

我的项目中已经安装了一个模块,其中包含几个新表。现在,我想添加与这些表关联的 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 没有加载到应用程序中。另外,我的日志中没有错误。

当然,如果我卸载 -> 重新安装它,我的 XML 会加载并添加我的菜单项,但我会丢失宝贵的数据。

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

请注意,如果出现问题,如果您不知道自己在做什么,可能会大错特错。

更好的方法是使用 OpenERP 接口。转到菜单设置 --> 技术 --> 用户界面 --> 视图。搜索视图并删除模块的视图。现在 update/upgrade 模块再次出现。

 <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"/>