Hello,
I have a class in Python where I wish to inherit from a model and a custom python class which I made.
I have done this before in Version 13 which works like this:
* base class *
class APIBase ():
# coded ...
* model class *
from odoo import models, fields, api
from .api_base import APIBase
class cpq_quotes (models.Model, APIBase):
_inherit = "crm.lead"
# coded ...
However, I now receive the error:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/werkzeug/serving.py", line 270, in run_wsgi
execute (self.server.app)
File "/usr/local/lib/python3.8/dist-packages/werkzeug/serving.py", line 258, in execute
application_iter = app (approximately, start_response)
File "/home/odoo/src/odoo/odoo/service/server.py", line 440, in app
return self.app (e, s)
File "/home/odoo/src/odoo/odoo/service/wsgi_server.py", line 122, in application
return ProxyFix (application_unproxied) (environ, start_response)
File "/usr/local/lib/python3.8/dist-packages/werkzeug/contrib/fixers.py", line 152, in __call__
return self.app (environ, start_response)
File "/home/odoo/src/odoo/odoo/service/wsgi_server.py", line 99, in application_unproxied
result = odoo.http.root (approximately, start_response)
File "/home/odoo/src/odoo/odoo/http.py", line 1294, in __call__
return self.dispatch (approximately, start_response)
File "/home/odoo/src/odoo/odoo/http.py", line 1262, in __call__
return self.app (approximately, start_wrapped)
File "/usr/local/lib/python3.8/dist-packages/werkzeug/wsgi.py", line 766, in __call__
return self.app (environ, start_response)
File "/home/odoo/src/odoo/odoo/http.py", line 1446, in dispatch
odoo.registry (db) .check_signaling ()
File "/home/odoo/src/odoo/odoo/__init__.py", line 104, in registry
return modules.registry.Registry (database_name)
File "/home/odoo/src/odoo/odoo/modules/registry.py", line 65, in __new__
return cls.new (db_name)
File "/home/odoo/src/odoo/odoo/modules/registry.py", line 89, in new
odoo.modules.load_modules (registry._db, force_demo, status, update_module)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 449, in load_modules
processed_modules + = load_marked_modules (cr, graph,
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 346, in load_marked_modules
loaded, processed = load_module_graph (
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 187, in load_module_graph
model_names = registry.load (cr, package)
File "/home/odoo/src/odoo/odoo/modules/registry.py", line 230, in load
model = cls._build_model (self, cr)
File "/home/odoo/src/odoo/odoo/models.py", line 579, in _build_model
ModelClass .__ bases__ = tuple (bases)
TypeError: __bases__ assignment: 'cpq_quotes' object layout differs from 'Lead' - - -
There is no reference to change like this in the Version 14 documentation that I can see.
Any help would be greatly appreciated.
Thanks,
Edit: I guess a way to get around this would be for both classes to inherit crm.lead, I think it would be better OOP for the base class to inherit both. So if anyone has a solution it would still be appreciated.