我在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>
答案 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>