【发布时间】:2022-01-23 03:45:04
【问题描述】:
我有一个带有模型类的模块,我想删除它,因为它不再需要,但模块中的其他模型仍然很重要。我可以删除引用不需要的模型的所有其他文件而不会出现任何错误(安全 CSV、视图、数据文件等),但是当我最终删除对包含类本身的实际文件的引用时(我在 from . import model_name 中评论models/__init__.py),我收到以下错误:
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'
为什么我不能只删除对包含该类的文件的引用?如何在不卸载整个模块的情况下删除模型?
【问题讨论】:
-
你在更新你的模块吗?