我想在产品表单中添加几个额外的字段,就在“standard_price”之后。
我创建了一个继承自“product.product_template_form_view”的视图,并在那里添加了我的字段:
<field name="standard_price" position="after">
<field name="my_field" />
</field>
然后,我重新启动odoo更新模块,但在调用产品表单时,我看不到新字段。
字段显示在数据库模型上(也创建继承模型),但不显示在用户界面上。
我错过了什么?
检查这些东西:
产品。样板常见的表格
工作视图的模板代码,在standard_price_uomdiv之后有一个新字段:
<div name='standard_price_uom' position="after">
<field name="my_field" />
</div>
如果这些没有帮助,请提供整个视图定义。
确保使用正确的型号。使用产品。模板
而不是产品。产品。
<record id="product_template_form" model ="ir.ui.view">
<field name="name">product.template.form</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_form_view" />
<field name="arch" type="xml">
<field name="standard_price" position="after">
<field name="my_field"/>
</field>
</field>
</record>
...
class ProductTemplate(models.Model):
_inherit = "product.template"
my_field = fields.Char()
确保已将XML文件添加到模块的__manifest__. py
文件中。Odoo只从您告诉它的文件中提取XML。
您可以在任何核心模块上看到这方面的示例。请参阅销售清单。例如,py。
在您的模块上,它将是这样的:
{
...
‘data’: [
‘views/form/form_product.xml’,
]
...
}