早上好,我想继承ODOO观点的一些观点。所以我可以使用它自己的模块。任何人都可以解释一下,有什么可能的方法吗?
提前致谢。
答案 0 :(得分:8)
查看继承
Odoo不是修改现有视图(通过覆盖它们),而是提供视图继承,其中子视图“扩展”视图应用于根视图之上,并且可以添加或删除其父视图中的内容。
扩展视图使用inherit_id字段引用其父级,而不是单个视图,其arch字段由选择和更改其父视图内容的任意数量的xpath元素组成:
<!-- improved idea categories list -->
<record id="idea_category_list2" model="ir.ui.view">
<field name="name">id.category.list2</field>
<field name="model">idea.category</field>
<field name="inherit_id" ref="id_category_list"/>
<field name="arch" type="xml">
<!-- find field description and add the field
idea_ids after it -->
<xpath expr="//field[@name='description']" position="after">
<field name="idea_ids" string="Number of ideas"/>
</xpath>
</field>
</record>
EXPR 在父视图中选择单个元素的XPath表达式。如果它不匹配任何元素或多个元素,则引发错误 位置
Operation to apply to the matched element:
inside
appends xpath's body at the end of the matched element
replace
replaces the matched element by the xpath's body
before
inserts the xpath's body as a sibling before the matched element
after
inserts the xpaths's body as a sibling after the matched element
attributes
alters the attributes of the matched element using special attribute elements in the xpath's body
提示
匹配单个元素时,可以直接在要查找的元素上设置position属性。下面的两个遗产都会给出相同的结果。
<xpath expr="//field[@name='description']" position="after">
<field name="idea_ids" />
</xpath>
<field name="description" position="after">
<field name="idea_ids" />
</field>
希望得到这个帮助。
答案 1 :(得分:1)
这里我如何在我的新模块中继承和使用现有视图。我想继承购买视图,所以在我的模块中我继承了purchase.order对象
class purchase_order(osv.osv):
_inherit="purchase.order"
//你可以像往常一样在这里添加你想要的任何字段
我继承了下面的视图
<record id="purchase_order_advance_invoice_inherit_form" model="ir.ui.view">
<field name="name">purchase.order.advance.invoice.inherit.form</field>
<field name="model">purchase.order</field>
<field name="inherit_id" **ref="purchase.purchase_order_form"**/>
//这是我引用我要继承的视图的地方,你可以完成其余的标记