Skip to Content
Menu
This question has been flagged
2 Replies
2187 Views

Hi all , I have inherit my model product from product.template and product.product . But I cannot create my product , it always show error 

-  bad query: b'INSERT INTO "product_template"

- ERROR: null value in column "name" violates not-null constraint

Any help please !

Avatar
Discard
Best Answer

Mainly the issue seems like you are not using name (not passing value to name) field which is a required field in product.template.
It would be more helpful if you can post your code like py and xml so that we can help you further.

Avatar
Discard
Author Best Answer

Hi Sudhir Arya , yes I inherit 2 models in my class model. But when I inherit only 1 product.template is no problem . My code like below :

Class Product(models.Model):

_inherits = {

        'product.template': 'product_template_id',

        'product.product':'product_product_id',

    }

    product_template_id = fields.Many2one('product.template', 'Product Template',            required=True, ondelete="cascade"),

    product_product_id = fields.Many2one('product.product', 'Product Product',     required=True, ondelete="cascade"),

Avatar
Discard

Can you please post your xml code as well? Are you creating a new object?

You don't need to inherits product.template object as product.product already inherits product.template

Author

Hi Sudhir Arya , this is my xml code :

<?xml version="1.0" encoding="utf-8"?>

<odoo>

<data>

<record id="view_court_product_form" model="ir.ui.view">

<field name="name">view.court.product.form</field>

<field name="model">cg.court.product</field>

<field name="arch" type="xml">

<form string="Product">

<sheet>

<field name='product_variant_count' invisible='1'/>

<field name='is_product_variant' invisible='1'/>

<field name="id" invisible="True"/>

<div class="oe_button_box" name="button_box">

<button class="oe_stat_button" name="action_used_in_bom" type="object" icon="fa-signal">

<field string="Sold" name="product_variant_count" widget="statinfo" /> Unit(s)

</button>

<button name="toggle_active" type="object"

class="oe_stat_button" icon="fa-archive">

<field name="active" widget="boolean_button"

options='{"terminology": "archive"}'/>

</button>

</div>

<field name="image_medium" widget="image" class="oe_avatar"/>

<div class="oe_title">

<label class="oe_edit_only" for="name" string="Product Name"/>

<h1><field name="name" placeholder="Product Name"/></h1>

<div name="options" groups="base.group_user">

<div>

<field name="sale_ok"/>

<label for="sale_ok"/>

</div>

</div>

</div>

<notebook>

<page string="General Information" name="general_information">

<group>

<group name="group_general">

<field name="categ_id" string="Product Category"/>

<field name="default_code"/>

<field name="barcode"/>

</group>

<group name="group_standard_price">

<field name="list_price" widget='monetary' options="{'currency_field': 'currency_id', 'field_digits': True}"/>

<field name="taxes_id" widget='many2many_tags' options="{'currency_field': 'currency_id', 'field_digits': True}"/>

<label for="standard_price" groups="base.group_user" attrs="{'invisible': [('product_variant_count', '&gt;', 1), ('is_product_variant', '=', False)]}"/>

<div name="standard_price_uom" groups="base.group_user" attrs="{'invisible': [('product_variant_count', '&gt;', 1), ('is_product_variant', '=', False)]}">

<field name="standard_price" widget='monetary' options="{'currency_field': 'currency_id', 'field_digits': True}"/>

</div>

</group>

</group>

<group string="Internal Notes">

<field name="description" nolabel="1" placeholder="This note is only for internal purposes."/>

</group>

</page>

</notebook>

</sheet>

</form>

</field>

</record>

<record id="view_court_product_tree" model="ir.ui.view">

<field name="name">view.cg.product.tree</field>

<field name="model">cg.court.product</field>

<field name="arch" type="xml">

<tree string="Court Product">

<field name="name"/>

<field name="barcode"/>

<field name="default_code"/>

<field name="list_price"/>

<field name="standard_price"/>

</tree>

</field>

</record>

<record id="action_cg_sport_booking_court_product" model="ir.actions.act_window">

<field name="name">Court Product</field>

<field name="type">ir.actions.act_window</field>

<field name="res_model">cg.court.product</field>

<field name="view_mode">tree,form</field>

<field name="help" type="html">

<p class="oe_view_nocontent_create">

</p>

</field>

</record>

</data>

</odoo>