Odoo Help

Welcome!

This community 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.

0

Account Invoice model inheritance

By
Ghassen Rjab
on 1/14/16, 3:21 AM 899 views

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, models

class AccountInvoice(models.Model):

_inherit = 'account.invoice'

The problem is that just these three lines (just the inheritance) cause Odoo to stop working (I am using Odoo 9 CE), here is the log
2016-01-14 08:11:57,758 3091 ERROR srsi werkzeug: Error on request:

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'

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.

1

Baiju

--Baiju--
3154
| 5 4 8
Kochi, India
--Baiju--
ODOO technical and functional

        I like learning new thing, especially technical thing. I am a quick learner, I can learn technical things very fast. I have good logical skill,  I have immense interest in programming.

e-mail id : baijuks@hotmail.com

Baiju
On 1/14/16, 4:07 AM

Hi ,

This type of error occurs if you did not add correct dependency in your module. 

Please check depends in __openerp__.py file in your module. Here in this case add 'account' because you are inheriting account.invoice

 

'depends': ['base','account',],

Hope this helps.

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

1 follower(s)

Stats

Asked: 1/14/16, 3:21 AM
Seen: 899 times
Last updated: 1/14/16, 4:14 AM