This question has been flagged
2 Replies
9920 Views

Hi everyone,

finally figured out what i was doing wrong when trying to add a custom module to inherit product.template and add 2 new fields.

successfully loaded the module, viewed changes. I then created a new module to change another form updated my server no changes made to new module and I am getting and internal error 500

# -*- coding: utf-8 -*-

from odoo import fields,models,api

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

drawing = fields.Binary(string="Drawing")
date_modify = fields.Datetime(string="Date Modified",required=True)
<odoo>
<data>
<record id="product_template_form" model ="ir.ui.view">
<field name="name">product.template.form</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='standard_price']" position="after">
<label for="drawing"/>
<div>
<field name="drawing"/>
</div>
</xpath>
<xpath expr="//field[@name='drawing']" position="after">
<label for="date_modify"/>
<div>
<field name="date_modify"/>
</div>
</xpath>
</field>
</record>
</data>
</odoo>

this is the log error

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 12.0\python\lib\site-packages\werkzeug\serving.py", line 205, in run_wsgi
    execute(self.server.app)
  File "C:\Program Files (x86)\Odoo 12.0\python\lib\site-packages\werkzeug\serving.py", line 193, in execute
    application_iter = app(environ, start_response)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\service\server.py", line 350, in app
    return self.app(e, s)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\service\wsgi_server.py", line 128, in application
    return application_unproxied(environ, start_response)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\service\wsgi_server.py", line 117, in application_unproxied
    result = odoo.http.root(environ, start_response)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 1318, in __call__
    return self.dispatch(environ, start_response)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 1291, in __call__
    return self.app(environ, start_wrapped)
  File "C:\Program Files (x86)\Odoo 12.0\python\lib\site-packages\werkzeug\wsgi.py", line 599, in __call__
    return self.app(environ, start_response)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 1469, in dispatch
    odoo.registry(db).check_signaling()
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\__init__.py", line 81, in registry
    return modules.registry.Registry(database_name)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\registry.py", line 62, in __new__
    return cls.new(db_name)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\registry.py", line 86, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 417, in load_modules
    force, status, report, loaded_modules, update_module, models_to_check)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 313, in load_marked_modules
    perform_checks=perform_checks, models_to_check=models_to_check
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 188, in load_module_graph
    model_names = registry.load(cr, package)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\registry.py", line 240, in load
    model = cls._build_model(self, cr)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 433, in _build_model
    raise TypeError("Model %r does not exist in registry." % name)
TypeError: Model 'product.template' does not exist in registry. - - -

Avatar
Discard

Inheritance in model and views: https://goo.gl/fGNfBY

Best Answer

Hi, 

1- class ProductTemplate(models.Model): 

    _inherit = 'product.template'

2- make sure you add the module 'product' in depends in __manifest__.py


P.S : you don't need to create a Module just to inherit a form...

Avatar
Discard
Author Best Answer

Thanks ibrahim i dont know what you mean I created the module for these changes. isnt it better to move on this path for these changes?

if i change the script on the existing documents wouldn't it create issues moving forward?    

Avatar
Discard

When you said ' I then created a new module to change another form', i understood that you create A new Module to make this heritage.

Author

I was speaking of previous changes that locked up my server. I don't have several modules manipulating 1 form