как добавить поле в product.template в odoo 12 - PullRequest
0 голосов
/ 11 марта 2019

Я хотел бы отобразить поле в представлении формы модуля продукта, вот файл 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>

Ответы [ 2 ]

1 голос
/ 12 марта 2019

1- Сначала проверьте, содержит ли манифест .py файл:

"depends": [
    'product'
], 

2 - проверьте, существует ли имя вашего файла, который содержит класс ClassProductInherited: в файле init .py, например:

from . import my_file
0 голосов
/ 27 июня 2019
<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>

Попробуйте этот кусок кода и дайте мне знать, если он работает.

...