Odoo Help

0

[8.0] View Inheritance - Bad Query - ParseError: invalid input syntax for integer

By
John
on 11/4/14, 2:49 PM 1,734 views

I am trying to inherit the form view from Action: Manufacturing -> Products -> Products to insert a new field in the view. 

Here is the code for my python file:

from openerp import models, fields

class product_template(models.Model):
    _inherit = 'product.template'

    drawingfilename = fields.Char(string="DrawingFileName")

And my view xml:

        <record model="ir.ui.view" id="view_product_template_product_form_inherit">
            <field name="name">ICE Product Product Inherit</field>
            <field name="model">product.template</field>
            <field name="inherit_id">product.product_template_form_view</field>
            <field name="arch" type="xml">
                <data>
                    <xpath expr='//form/sheet/div[0]/div[0]/label' position="after">
                        <field name="drawingfilename"/>
                    </xpath>
                </data>
            </field>
        </record>

I see that my field is created appropriately in the database, but when I go to install the module for the first time, I get the following error:

test openerp.sql_db: bad query:  SELECT ir_ui_view."inherit_id",ir_ui_view."create_date",ir_ui_view."name",ir_ui_view."create_uid",ir_ui_view."
arch",ir_ui_view."write_uid",ir_ui_view."priority",ir_ui_view."mode",ir_ui_view."write_date",ir_ui_view."active",ir_ui_view."model",ir_ui_view."model_data_id",ir_ui_view."type",i
r_ui_view."id",ir_ui_view."field_parent" FROM "ir_ui_view"
                    WHERE ir_ui_view.id IN ('product.product_template_form_view') AND (TRUE)
                    ORDER BY priority,name

ParseError: "invalid input syntax for integer: "product.product_template_form_view"
LINE 2:                     WHERE ir_ui_view.id IN ('product.product...
                                                    ^
" while parsing /home/odoo/odoo/addons/mrp_iceproducts/iceproducts_view.xml:4, near
<record model="ir.ui.view" id="view_product_template_product_form_inherit">
            <field name="name">ICE Product Product Inherit</field>
            <field name="model">product.template</field>
            <field name="inherit_id">product.product_template_form_view</field>

It looks like it is not running a select somewhere to change 'product.product_template_form_view' to an 'id.'
  Am I mistaken in using that particular form as the inherit_id?  Is there something I am missing?

 

did you inherited product.product to add that field,,can you please give that code too?

Baiju KS
on 11/4/14, 2:56 PM

@Baiju KS, I just updated my question with the full code in python and the view xml. I thought the product.template was the correct model to inherit. Is that not true?

John
on 11/4/14, 3:12 PM

I just tried with the following python: class product_product(models.Model): _inherit = 'product.product' drawingfilename = fields.Char(string="DrawingFileName") and the View xml: ICE Product Product Inherit product.product product.product_template_form_view Still getting the ParseError: on a brand new database (dropped the old one, restored from a backup that was made before trying the install)

John
on 11/4/14, 3:22 PM

I have created a github for review here: https://github.com/michaeljohn32/mrp_iceproducts

John
on 11/4/14, 3:25 PM
2

Hi,

You have mistaken into inherit_id of the view.

<record model="ir.ui.view" id="view_product_template_product_form_inherit">
            <field name="name">ICE Product Product Inherit</field>
            <field name="model">product.template</field>
            <field name="inherit_id">product.product_template_form_view</field>
            <field name="arch" type="xml">
                <data>
                    <xpath expr='//form/sheet/div[0]/div[0]/label' position="after">
                        <field name="drawingfilename"/>
                    </xpath>
                </data>
            </field>
        </record>

It should not be the simple text data it must reference of the external_id so you have to define your view as like below.

<record model="ir.ui.view" id="view_product_template_product_form_inherit">
            <field name="name">ICE Product Product Inherit</field>
            <field name="model">product.template</field>
            <field name="inherit_id" ref="product.product_template_form_view" />
            <field name="arch" type="xml">
                <data>
                    <xpath expr='//form/sheet/div[0]/div[0]/label' position="after">
                        <field name="drawingfilename"/>
                    </xpath>
                </data>
            </field>
        </record>

I hope your issue will resolve.

That is correct! Thank you!

John
on 11/6/14, 8:24 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Register

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)

Stats

Asked: 11/4/14, 2:49 PM
Seen: 1734 times
Last updated: 3/16/15, 8:10 AM