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"/>
我的项目中已经安装了一个模块,其中包含几个新表。现在,我想添加与这些表关联的 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"/>