1
votes

I have custom module in my odoo called "x_vehicles"

Could be possible to inherit from this module to overwrite the create method??

I've this code

class extend_vehicle(models.Model):
    _inherit = 'x_vehicle'

    @api.model
    def create(self, vals):

        # Do something...

        return super(extend_vehicle, self).write(vals)

But I get this error

2016-07-04 15:05:20,488 9217 ERROR pro werkzeug: Error on request:
Traceback (most recent call last):
  File "/Users/jose/Work/odoo/env/lib/python2.7/site-packages/werkzeug/serving.py", line 177, in run_wsgi
    execute(self.server.app)
  File "/Users/jose/Work/odoo/env/lib/python2.7/site-packages/werkzeug/serving.py", line 165, in execute
    application_iter = app(environ, start_response)
  File "/Users/jose/Work/odoo/openerp/service/server.py", line 246, in app
    return self.app(e, s)
  File "/Users/jose/Work/odoo/openerp/service/wsgi_server.py", line 184, in application
    return application_unproxied(environ, start_response)
  File "/Users/jose/Work/odoo/openerp/service/wsgi_server.py", line 170, in application_unproxied
    result = handler(environ, start_response)
  File "/Users/jose/Work/odoo/openerp/http.py", line 1493, in __call__
    return self.dispatch(environ, start_response)
  File "/Users/jose/Work/odoo/openerp/http.py", line 1467, in __call__
    return self.app(environ, start_wrapped)
  File "/Users/jose/Work/odoo/env/lib/python2.7/site-packages/werkzeug/wsgi.py", line 588, in __call__
    return self.app(environ, start_response)
  File "/Users/jose/Work/odoo/openerp/http.py", line 1642, in dispatch
    ir_http = request.registry['ir.http']
  File "/Users/jose/Work/odoo/openerp/http.py", line 363, in registry
    return openerp.modules.registry.RegistryManager.get(self.db) if self.db else None
  File "/Users/jose/Work/odoo/openerp/modules/registry.py", line 355, in get
    update_module)
  File "/Users/jose/Work/odoo/openerp/modules/registry.py", line 386, in new
    openerp.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/Users/jose/Work/odoo/openerp/modules/loading.py", line 334, in load_modules
    force, status, report, loaded_modules, update_module)
  File "/Users/jose/Work/odoo/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 "/Users/jose/Work/odoo/openerp/modules/loading.py", line 132, in load_module_graph
    models = registry.load(cr, package)
  File "/Users/jose/Work/odoo/openerp/modules/registry.py", line 169, in load
    model = cls._build_model(self, cr)
  File "/Users/jose/Work/odoo/openerp/models.py", line 591, in _build_model
    original_module = pool[name]._original_module if name in parents else cls._module
  File "/Users/jose/Work/odoo/openerp/modules/registry.py", line 84, in __getitem__
    return self.models[model_name]
KeyError: 'x_vehicle'

I don't know if I need to extend from other model or do something special...

Please, Could anyone help me??

EDIT: Maybe with the name "custom module" I've made a mistake... It's a module built inside odoo, not as an external module. I don't have the code of the module. It was built with the tool that odoo provides.

enter image description here

I can't extract the structure because it's a little bit complicated extract all the functionality, so, I need to try to inherit from that module

I'll hope that this could be more specific

EDIT 2: I think that here is the problem... If I try to install the module that inherit the functionality, in the tab "Technical data" I can see that the model is Unknown... but I don't know why...

enter image description here

Also, this is my actual openerp.py file

{
    ...
    'category': 'Automation',
    'version': '1',
    # any module necessary for this one to work correctly
    'depends': ['base','x_vehicle'],
    # always loaded
    'data': [

    ]
}
1

1 Answers

1
votes

Yes it is possible.

Open __openerp__.py file and update with following key

"depends" : [
    'base', 'list_of_core_module', 'your_custom_module_name'
],

Where

list_of_core_module like sale, purchase, account etc...,

your_custom_module_name where you have declared x_vehicles class

Restart your server and upgrade current module as you work on.