0

我想在产品模块的表单视图中显示一个字段,这是 python 文件(我使用 odoo 12。):

class ClassProductInherited:
    _inherit = 'product.template'

    file = fields.Char(string="Choose File")

这是xml代码(我使用odoo 12。):

<record id="view_product_form_inherit" model="ir.ui.view">
            <field name="name">product.template.common.form.inherit</field>
            <field name="model">product.template</field>
            <field name="inherit_id" ref="product.product_template_only_form_view"/>
            <field name="arch" type="xml">
                <xpath expr="//page[@name='inventory']/group" position="before">
                    <group col="2" colspan="2">
                        <field name="file"/>
                    </group>
                </xpath>

            </field>
        </record>

当我重新启动服务器时,问题是我有以下错误:

File "/home/odoo/models.py", line 1112, in _validate_fields
    raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.tools.convert.ParseError: "Error while validating constraint

Field `file` does not exist

Error context:
View `product.template.common.form.inherit`
[view_id: 2095, xml_id: module.view_product_form_inherit, model: product.template, parent_id: 402]
None" while parsing /home/omar/odoo/custom-addons/addons12/module/views/views.xml:403, near
<record id="view_product_form_inherit" model="ir.ui.view">
            <field name="name">product.template.common.form.inherit</field>
            <field name="model">product.template</field>
            <field name="inherit_id" ref="product.product_template_only_form_view"/>
            <field name="arch" type="xml">
                <xpath expr="//page[@name='inventory']/group" position="before">
                    <group col="2" colspan="2">
                        <field name="file"/>
                    </group>
                </xpath>

            </field>
        </record>
4

3 回答 3

2

1- First, check if the manifest.py file contains:

"depends": [
    'product'
], 

2- check if the name of your file that contains the class ClassProductInherited: exists in the init.py file like this for example:

from . import my_file
于 2019-03-12T09:45:49.470 回答
0
<record id="view_product_form_inherit" model="ir.ui.view">
            <field name="name">product.template.common.form.inherit</field>
            <field name="model">product.template</field>
            <field name="inherit_id" ref="product.product_template_form_view"/>
            <field name="arch" type="xml">
                <xpath expr="//field[@name='weight']" position="before">
                    <group>
                        <field name="file"/>
                    </group>
                </xpath>    
            </field>
        </record>

试试这段代码,让我知道它是否有效。

于 2019-06-27T09:31:25.173 回答
0

检查您的 .py 文件,您必须只继承一个模块中的一个......如果您在单个记录中声明多个模块,则将其删除。并为另一个模块制作另一个记录。然后在检查后声明或记下.py 文件中的字段文件

于 2019-10-08T07:20:57.747 回答