Hi,
I want to change the behavior of _compute_amount method in AccountInvoice (account.invoice), so I started by inheriting the account.invoice model in my custom model in order to override that method, here is my code:
from openerp import fields, modelsThe problem is that just these three lines (just the inheritance) cause Odoo to stop working (I am using Odoo 9 CE), here is the logclass AccountInvoice(models.Model):
_inherit = 'account.invoice'
2016-01-14 08:11:57,758 3091 ERROR srsi werkzeug: Error on request:I didn't know what is the issue because if I inherit from res.partner like in this guide https://www.odoo.com/documentation/9.0/howtos/backend.html, the inheritance works.Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 177, in run_wsgi
execute(self.server.app)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 165, in execute
application_iter = app(environ, start_response)
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/service/server.py", line 245, in app
return self.app(e, s)
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/service/wsgi_server.py", line 184, in application
return application_unproxied(environ, start_response)
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/service/wsgi_server.py", line 170, in application_unproxied
result = handler(environ, start_response)
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/http.py", line 1488, in __call__
return self.dispatch(environ, start_response)
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/http.py", line 1462, in __call__
return self.app(environ, start_wrapped)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 588, in __call__
return self.app(environ, start_response)
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/http.py", line 1637, in dispatch
ir_http = request.registry['ir.http']
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/http.py", line 360, in registry
return openerp.modules.registry.RegistryManager.get(self.db) if self.db else None
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/modules/registry.py", line 354, in get
update_module)
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/modules/registry.py", line 385, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/modules/loading.py", line 334, in load_modules
force, status, report, loaded_modules, update_module)
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/modules/loading.py", line 237, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/modules/loading.py", line 132, in load_module_graph
models = registry.load(cr, package)
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/modules/registry.py", line 168, in load
model = cls._build_model(self, cr)
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/models.py", line 593, in _build_model
original_module = pool[name]._original_module if name in parents else cls._module
File "/home/ghassen/tools/erp/odoo-9.0c-20160110/openerp/modules/registry.py", line 84, in __getitem__
return self.models[model_name]
KeyError: 'account.invoice'