【问题标题】:Odoo do not add new XML file after module updateOdoo 在模块更新后不添加新的 XML 文件
【发布时间】:2016-06-17 14:30:39
【问题描述】:

我的项目中已经安装了一个模块,其中包含几个新表。现在,我想添加与这些表关联的 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 会被加载并添加我的菜单项,但我会丢失宝贵的数据。

【问题讨论】:

  • 你总是有这个问题吗?在 IDE 中开发时的一个典型错误:在服务器重新启动之前没有保存(需要的文件)。也许您忘记了保存清单 (openerp.py)?另一个问题可能是浏览器。只需尝试在更新后使用空缓存重新加载 Odoo,
  • 只是一个疯狂的猜测......文件权限?
  • @CZoellner openerp.py 已正确保存。此外,这不是缓存问题,因为我的菜单项不是在 Odoo 中创建的。 (设置 -> 用户界面 -> 菜单项)
  • @danidee 没有解决我的问题:\
  • 你确定在不同的插件路径中你的模块副本不超过一个吗?我经历过类似的事情,结果我正在编辑模块的另一个副本我在另一个文件夹中。 (它在我的插件路径中,但依次出现在我认为我正在使用的文件夹之后)......这又是一个疯狂的猜测

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


【解决方案1】:
 <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"/>

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 我没有此模块的视图。我只想要菜单项,默认表单视图适合我的情况。
    • 好的 - 我看到你解决了 - 我不需要再看下去了。我对答案感到惊讶——没想到现在看起来很明显的事情。尽管有时在处理 xml 的方式中发现错误,但我确实做到了。有时数据库中存在损坏,我可以解决它的唯一方法是从数据库中删除 xml,然后升级模块。
    猜你喜欢
    • 2019-07-29
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多