From 8862bb01b96d8c1ebbd1ed7f56747cf545f89681 Mon Sep 17 00:00:00 2001 From: Elkasitu Date: Mon, 4 Sep 2017 14:57:13 +0200 Subject: [PATCH] [FIX] ir_model: Don't prefetch unnecessary fields Do not prefetch unnecessary fields during the uninstallation of modules. Previous to this commit, prefetching of unnecessary fields would cause server crashes on some modules that add a field on ir_model_fields. i.e. website_form --- openerp/addons/base/ir/ir_model.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 2008084df62..936e7f2eda2 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -1169,7 +1169,9 @@ class IrModelData(models.Model): if model == 'ir.model.fields': # Don't remove the LOG_ACCESS_COLUMNS unless _log_access # has been turned off on the model. - field = self.env[model].browse(res_id) + field = self.env[model].browse(res_id).with_context( + prefetch_fields=False, + ) if not field.exists(): _logger.info('Deleting orphan external_ids %s', external_ids) external_ids.unlink()