This question has been flagged
1 Reply
3996 Views

Dear all,

I need to inherit the osv_memory model 'pos.session.opening' but when I try to install my custom module, I get this error: 

[...] 
 File "/home/ale/Projects/odoo/openerp/models.py", line 592, in _build_model
original_module = pool[name]._original_module if name in parents else cls._module
File "/home/ale/Projects/odoo/openerp/modules/registry.py", line 101, in __getitem__
return self.models[model_name] KeyError: 'pos.session.opening'

This is my code:

from openerp.osv import osv
class pos_session_opening(osv.osv_memory):
   _inherit = 'pos.session.opening'
   _name = 'pos.session.opening' [...]

If I replace the 'pos.session.opening' string in both variables with 'res.config' (which is also osv_memory) I get no error at all..

I'm I doing something wrong?

Regards!

Avatar
Discard
Best Answer

Hello Alejandro Perez Cosio,

Make sure that you have kept point_of_sale module in your custom module's dependency list. As pos.session.opening model belongs to point_of_sale, So point_of_sale needs to install first before your custom module

Hope this will help you.

Avatar
Discard
Author

Hello Mansi, thank you for your answer, I did install point_of_sale before my module but didn't put it as a dependency, so I thought it would be enough.. I tried again putting the dependency and guess what.. it worked!

You should add point_of_sale to your module dependency list As this is best practise to install dependency modules first. If you add point_of_sale to your custom module's dependency list, this will not through you error next time when you try to install your custom module in new database Instead it will automatically install point_of_sale before your module's installation. And this way you need not to remember to install point_of_sale first for all the new databases you create.