From fd6bc0cb6176ad0c24653fa07bb830bd0b997bac Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Mon, 24 Jan 2022 11:24:39 +0000 Subject: [PATCH] [IMP] base: avoid ormcache clear when setting ir.default to the same value Purpose ======= On the res.config.settings model for example, calling execute without having changed a single parameter will make several writes on ir.default records. However, even if the written and the current values are the same, the cache will be invalidated several times. Part-of: odoo/odoo#82999 --- odoo/addons/base/models/ir_default.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/odoo/addons/base/models/ir_default.py b/odoo/addons/base/models/ir_default.py index c84df3c727a..bcf668012fb 100644 --- a/odoo/addons/base/models/ir_default.py +++ b/odoo/addons/base/models/ir_default.py @@ -80,7 +80,9 @@ class IrDefault(models.Model): ('condition', '=', condition), ]) if default: - default.write({'json_value': json_value}) + # Avoid clearing the cache if nothing changes + if default.json_value != json_value: + default.write({'json_value': json_value}) else: self.create({ 'field_id': field.id,