Odoo v13:无法卸载 crm 应用程序:记录不存在或已被删除(记录:ir.model.fields(9311,),用户:1)

问题描述 投票:0回答:2

Odoo 版本:13.0.20210614

重现方式:在应用程序、CRM App 中。 > 卸载

行为: 附件中的图像1 无法卸载:错误(附件中的图像 1): ('记录不存在或已被删除(记录:ir.model.fields(9311,),用户:1)',无) 同样的 Bug 已报告多次但仍未修复:

https://github.com/odoo/odoo/issues/38008

卸载crm App如何处理?

**************** 回溯 **************

2021-06-18 14:21:52,779 6 INFO samadeva-oerp-brstaging-2702918 odoo.addons.base.models.ir_module: ALLOW access to module.module_uninstall on ['sale_crm', 'crm_enterprise', 'crm_sms', 'website_crm', 'website_crm_sms', 'mass_mailing_crm', 'crm'] to user __system__ #1 via 86.243.106.83 

2021-06-18 14:21:52,800 6 WARNING samadeva-oerp-brstaging-2702918 odoo.modules.loading: Transient module states were reset 

2021-06-18 14:21:52,801 6 ERROR samadeva-oerp-brstaging-2702918 odoo.modules.registry: Failed to load registry 
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/api.py", line 745, in get
def get(self, record, field, default=NOTHING):
value = self._data[field][record._ids[0]]
KeyError: 9311

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/home/odoo/src/odoo/odoo/fields.py", line 1037, in __get__
value = env.cache.get(record, self)

File "/home/odoo/src/odoo/odoo/api.py", line 751, in get
raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: ('ir.model.fields(9311,).model', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/home/odoo/src/odoo/odoo/modules/registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)

File "/home/odoo/src/odoo/odoo/modules/loading.py", line 494, in load_modules
Module.browse(modules_to_remove.values()).module_uninstall()

File "<decorator-gen-61>", line 2, in module_uninstall

File "/home/odoo/src/odoo/odoo/addons/base/models/ir_module.py", line 73, in check_and_log
return method(self, *args, **kwargs)

File "/home/odoo/src/odoo/odoo/addons/base/models/ir_module.py", line 478, in module_uninstall
self.env['ir.model.data']._module_data_uninstall(modules_to_remove)

File "/home/odoo/src/odoo/odoo/addons/base/models/ir_model.py", line 1898, in _module_data_uninstall
model = self.pool.get(ir_field.model)
File "/home/odoo/src/odoo/odoo/fields.py", line 1050, in __get__
_("(Record: %s, User: %s)") % (record, env.uid),
odoo.exceptions.MissingError: ('Record does not exist or has been deleted (Record: ir.model.fields(9311,), User: 1)', None)
module odoo crm uninstallation odoo-13
2个回答
2
投票

我检查了 Click on uninstall crm module 触发的此错误的原因,结果显示数据库表 ir_model_data 有一条记录 (fk : res_id=9311) 指向另一个表 ir_model_fields,其中缺少相应的 pk id(无记录)有pk:id=9311)。为了能够卸载 crm 应用程序,我找到的唯一解决方案 - 在使用 odoo 方式搜索了几个小时后 - 是删除 ir_model_data 中的“孤立”记录。因为不允许使用 oddo-bin shell 执行此操作,所以我必须通过将此行放在可在 ui 上单击的 def_buttonchangestatus python 函数的末尾来触发删除:

   self.env['ir.model.data'].search([('res_id','=',9311)],limit=1).unlink()

0
投票

我有同样的问题,没有代码就解决了。 启用开发模式。转到“设置”->“外部标识符”并找到 model = 'ir.model.fields' 和 res_id = 并删除它

© www.soinside.com 2019 - 2024. All rights reserved.