Odoo:从tab中的另一个模型重用treeview

时间:2018-04-09 22:40:12

标签: python xml odoo

我试图在res.partner的formview笔记本中添加一个新选项卡,其中包含一个带有相关对象列表的树视图("调度"由我实现的模型一个指向res.partner的Many2one。

我无法找到办法,谷歌搜索它并没有多大帮助。如何将此树视图指向我的模型的现有树视图?以及如何指定域以便只显示正确的数据?]

res.partner表单的当前代码是

<odoo>
    <data>
        <record model="ir.ui.view" id="partner_form">
            <field name="name">res.partner.form</field>
            <field name="model">res.partner</field>
            <field name="inherit_id" ref="base.view_partner_form"/>
            <field name="arch" type="xml">
                <xpath expr="//notebook/page[3]" position="attributes">
                    <attribute name="invisible">1</attribute>
                </xpath>
                <xpath expr="//notebook/page[3]" position="after">
                    <page string='Consultas'>
                    </page>
                </xpath>
            </field>
        </record>
    </data>
</odoo>

1 个答案:

答案 0 :(得分:1)

如果我理解你,你已经在你的代码的其他部分创建了树视图,现在你想在res.partner形式的笔记本中的新页面中看到这个树视图,不要你呢?

因此,如果在 Scheduling 模型中,您有一个指向res.partner的Many2one,在这种情况下,您应该在res.partner中指向 Scheduling 模型(具有相应的inverse_name)。想象一下,One2many的名称是schedules,而您的 Scheduling 树视图名为view_scheduling_tree

<odoo>
    <data>
        <record model="ir.ui.view" id="partner_form">
            <field name="name">res.partner.form</field>
            <field name="model">res.partner</field>
            <field name="inherit_id" ref="base.view_partner_form"/>
            <field name="arch" type="xml">
                <xpath expr="//notebook/page[3]" position="attributes">
                    <attribute name="invisible">1</attribute>
                </xpath>
                <xpath expr="//notebook/page[3]" position="after">
                    <page string='Consultas'>
                        <field name="schedules" context="{'tree_view_ref': 'your_module.view_scheduling_tree'}"/>
                    </page>
                </xpath>
            </field>
        </record>
    </data>
</odoo>