Odoo Help


Should I add a new field to product.product or to product.template on odoo 8.0?

Stefan Reisich
on 7/17/14, 10:13 AM 4,122 views

In odoo 8.0 product.product and product.template changed.

I want to create a module that adds a new field to the product page.

Should i inherit product.product and add a new field there or is product.template the right place?


On 7/17/14, 11:31 AM

Hi Stefan,

See these codes :

class product_template(osv.osv):
    _name = "product.template"
    _inherit = ['mail.thread']
    _description = "Product Template"

class product_product(osv.osv):
    _name = "product.product"
    _description = "Product"
    _inherits = {'product.template': 'product_tmpl_id'}
    _inherit = ['mail.thread']
    _order = 'default_code,name_template'

product.product inherits product.template so you should add you new field in product.product. Your new field will available to both.




Walid Baruni
On 7/18/14, 10:20 AM

The main difference between product.product and product.template is when you use product variants.

  • If you add a field to product.template (template), then the field value will be shared to all variants (product.product) of that template.
  • If you add a field to product.product (variant), then the field value will be different in each variant of the same template (product.template)

If you don't use product variants, then I belive its better to add the field to product.product

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.


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

1 follower(s)


Asked: 7/17/14, 10:13 AM
Seen: 4122 times
Last updated: 3/16/15, 8:10 AM