I have a module with a model class that I'd like to remove because it's no longer needed, but other models in the module are still important. I can remove all other files that references the unneeded model without any errors (security CSV, views, data files, etc...) but when I finally remove the reference to the actual file containing the class itself (I comment from . import model_name in models/__init__.py), I get the following error:
odoo-server | Traceback (most recent call last):
odoo-server | File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 60, in __new__
odoo-server | return cls.registries[db_name]
odoo-server | File "/usr/lib/python3/dist-packages/odoo/tools/func.py", line 69, in wrapper
odoo-server | return func(self, *args, **kwargs)
odoo-server | File "/usr/lib/python3/dist-packages/odoo/tools/lru.py", line 44, in __getitem__
odoo-server | a = self.d[obj].me
odoo-server | KeyError: 'database_name'
odoo-server |
odoo-server | During handling of the above exception, another exception occurred:
odoo-server |
odoo-server | Traceback (most recent call last):
odoo-server | File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 86, in new
odoo-server | odoo.modules.load_modules(registry._db, force_demo, status, update_module)
odoo-server | File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 477, in load_modules
odoo-server | env['ir.model.data']._process_end(processed_modules)
odoo-server | File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_model.py", line 2040, in _process_end
odoo-server | record.unlink()
odoo-server | File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_model.py", line 1217, in unlink
odoo-server | not self.env[selection.field_id.model]._abstract:
odoo-server | File "/usr/lib/python3/dist-packages/odoo/api.py", line 466, in __getitem__
odoo-server | return self.registry[model_name]._browse(self, (), ())
odoo-server | File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 176, in __getitem__
odoo-server | return self.models[model_name]
odoo-server | KeyError: 'model_name'
Why can't I just remove the reference to the file containing the class? How do I remove a model without uninstalling the entire module?