如何在odoo 10中设置一个模型的多个视图?

我正在设置模型的多个视图(树、表单)。

我有两个树视图和表单视图,我需要在其中打开树 2 视图作为记录。

单击树 2 记录时,打开表单 2 作为详细信息页面。目前我已经设置树视图序列 1 工作但仍然打开 Form 1 而不是 Form2。

我怎么能做到这一点?


宝慕林4294392
浏览 372回答 2
2回答

慕虎7371278

如果要指定要使用的视图,可以添加一个context属性,并为支持的每种视图类型指定一个视图 ID,与操作的view_id属性完全一样:<field&nbsp;name="order_line"&nbsp;colspan="4"&nbsp;nolabel="1"&nbsp;context="{'form_view_ref'&nbsp;:&nbsp;'module.view_id',&nbsp;'tree_view_ref'&nbsp;:&nbsp;'model.view_id'}"/>如果您不指定视图,OpenERP 将按以下顺序选择一个:它将使用字段内定义的 <form> 或 <tree> 视图(见下文)否则,它将为此对象使用具有最高优先级的视图。最后,它将生成默认的空视图,包含所有字段。注意上下文键被命名为<view_type>_view_ref。默认情况下,OpenERP 永远不会使用未为您的对象定义的视图。如果您有两个模型,具有相同的字段,但模型名称不同,OpenERP 永远不会将一个视图用于另一个,即使一个模型继承另一个模型。您可以通过在操作或上下文中手动指定视图来强制执行此操作。

catspeake

来自https://subscription.packtpub.com/book/business_and_other/9781789618921/10/ch10lvl1sec104/adding-a-menu-item-and-window-action您可以使用以下代码:<act_window id="action_books2"&nbsp; &nbsp; &nbsp; name="All books"&nbsp; &nbsp; &nbsp; res_model="library.books"&nbsp; &nbsp; &nbsp; view_mode="tree,form"&nbsp; &nbsp; &nbsp; domain="[--any domain--]"&nbsp; &nbsp; &nbsp; context="{'--any context--'}" />然后为树视图定义操作,为表单视图定义另一个操作:<record id="action_books2_tree" model="ir.actions.act_window.view">&nbsp; &nbsp; <field name="act_window_id" ref="action_books2" />&nbsp; &nbsp; <field name="view_id" ref="view_all_books2_tree" />&nbsp; &nbsp; <field name="view_mode">tree</field>&nbsp; &nbsp; <field name="sequence" eval="2"/></record><record id="action_all_books2_form" model="ir.actions.act_window.view">&nbsp; &nbsp; <field name="act_window_id" ref="action_all_books2" />&nbsp; &nbsp; <field name="view_id" ref="view_books2_form" />&nbsp; &nbsp; <field name="view_mode">form</field>&nbsp; &nbsp; <field name="sequence" eval="2"/></record>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python