Odoo。如何创建扩展模型的视图

时间:2017-09-02 12:09:42

标签: openerp

我在odoo中很新,我真的需要你的帮助。

我已经扩展了 res.partner

    class extendedPartner(models.Model):
_name = 'extended.partner'    
_inherit = 'res.partner' 

auto = fields.One2Many('partner.car', 'auto_name', 'Car', required=False)

    class partnerCar(models.Model):
_name = 'partner.car'

auto_model = fields.Char('Model auto', size=20, required=True)  
release = fields.Integer('Year of release', required=True)

auto_name = fields.Many2One('extended.partner', 'Car Name', required=True)

但我不知道如何写 xml 以便我可以看到所有合作伙伴的汽车及其相关信息

    <record model="ir.ui.view" id="view_partner_form">
<field name="name">res.partner.form.inherit</field>
<field name="model">extended.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
    <notebook position="inside">
        <page string="Cars">
            <!-- what should I write here? -->
        </page>
    </notebook>
</field>
</record>
你能帮帮我吗?提前谢谢。

UPD:

这是正确的解决方案吗?

    <record model="ir.ui.view" id="view_partner_form">
<field name="name">res.partner.form.inherit</field>
<field name="model">extended.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
    <field name="auto">
       <tree>
           <field name="auto_name"/>
           <field name="auto_model"/>
           <field name="release"/>
       </tree>
    </field>
</field>
</record>

1 个答案:

答案 0 :(得分:0)

您几乎就在那里,因为您从另一个视图继承并将视图注入到您继承的视图中,您需要在父视图中为新视图提供一个“钩子”,它可用于附加其内容。因此,您使用xpath表达式,然后插入字段。

插入关系字段时,可以创建所谓的embedded视图。您已在此处为您的字段定义了tree视图。这意味着,只要您的字段呈现为tree,即tree将使用该字段,您的情况就是表单。

点击后显示<form>后,您还可以创建<tree>

<record model="ir.ui.view" id="view_partner_form">
    <field name="name">res.partner.form.inherit</field>
    <field name="model">extended.partner</field>
    <field name="inherit_id" ref="base.view_partner_form"/>
    <field name="arch" type="xml">
        <xpath expr="insert_x_path_xpression here" position="after, before etc"
        <field name="auto">
           <tree>
               <field name="auto_name"/>
               <field name="auto_model"/>
               <field name="release"/>
           </tree>
        </field>
    </xpath>
    </field>
</record>