gpt4 book ai didi

OpenERP 总是显示继承的 View 而不是原始 View

转载 作者:行者123 更新时间:2023-12-04 10:09:56 26 4
gpt4 key购买 nike

原始观点:

<record id='view_1' model='ir.ui.view'>
<field name="name">view.name</field>
<field name="model">my.object</field>
<field name="priority" eval="17"/>
<field name="type">form</field>
<field name="arch" type="xml">
...
</field>
</record>

从原始继承的观点:
<record id='view_2' model='ir.ui.view'>
<field name="name">view.name</field>
<field name="model">my.object</field>
<field name="priority" eval="10"/>
<field name="inherit_id" ref="view_1"/>
<field name="type">form</field>
<field name="arch" type="xml">
...
</field>
</record>

所以发生的事情是 OpenERP 总是显示继承的 View 而忽略优先级值。这是预期的行为,还是我还缺少其他东西?

如果这是预期的行为,那么请进一步阅读:-)

我有 my.second.objectmany2one字段到 my.object ,当我想创建 my.object从这个领域,我想打开一个有点不同的表单 View my.object .我正试图为此目的创建一个不同的 View ,但正如您所见,它并不那么容易(或者是这样吗?)。

任何帮助表示赞赏。

最佳答案

是的,这是预期的行为。 View 的优先级仅用于在没有请求特定 View 时选择要使用的主 View 。继承的 View 是“补丁 View ”,就像它们继承的 View 的 subview 一样,可能永远不会被选为“主 View ”。当该 View 显示时,它们总是应用在其父 View 之上。

如果您想要某个模型的替代 View ,您应该定义一个新的独立 View ,该 View 不从任何其他 View 继承。如果该 View 仅用于 my.second.object 的 View 的上下文中,有两个常用的技巧可以让 OpenERP 使用它:

  • my.second.object 的表单 View 中内联定义它,作为 <field> 的 child 元素。根据版本,这可能不适用于所有 OpenERP 客户端,并且最适合为 o2m 声明内联表单 View 。线,通常。
  • 将其声明为具有低优先级(例如 32)的独立 View ,并在 many2one 中放置一个魔术上下文键领域my.second.object认为应该使用它。魔法 key 的形式是 <view_type>_view_ref ,并且该值必须是所需 View 的 XML ID。这应该适用于任何地方。

  • <!-- Example 1: inline form view -->
    <form string="My second object">
    <field name="my_object_id">
    <form string="My object inline view">
    <field name="name"/>
    </form>
    </field>
    </form>

    <!-- Example 2: explicitly ask for special view using magic key -->
    <form string="My second object">
    <field name="my_object_id" context="{'form_view_ref': 'module.my_object_form2'}"/>
    </form>

    作为引用,请查看 this page OpenERP 文档的一部分,该文档解释了用于制作和使用特定于上下文的 View 的大多数选项。

    NOTE: If you have used form_view_ref and from form view if you have any button which is opening another form view of some other model then it will give you error . It will try to open the same form view you have passed in form_view_ref for another model also.

    关于OpenERP 总是显示继承的 View 而不是原始 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10880535/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com