From c5ae0576185048278cada7e350d2ead2d44b6716 Mon Sep 17 00:00:00 2001 From: Alvaro Fuentes Date: Wed, 24 Nov 2021 18:09:40 +0000 Subject: [PATCH] [FIX] base: in res.config.settings, field.related is a string It used to be a tuple. Cf: 1abe965b59a6acc24b93c25c07c2f9151af4924a opw-2681777 closes odoo/odoo#81312 X-original-commit: aa74f51db7bf5a8ad1f4e309b6352df3c31037ec Signed-off-by: Raphael Collet --- odoo/addons/base/models/res_config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/odoo/addons/base/models/res_config.py b/odoo/addons/base/models/res_config.py index c943e3e2ea0..20e2cf0f05f 100644 --- a/odoo/addons/base/models/res_config.py +++ b/odoo/addons/base/models/res_config.py @@ -776,7 +776,7 @@ class ResConfigSettings(models.TransientModel, ResConfigModuleInstallationMixin) continue # we write on a related field like # qr_code = fields.Boolean(related='company_id.qr_code', readonly=False) - fname0 = field.related[0] + fname0, *fnames = field.related.split(".") if fname0 not in values: continue @@ -784,7 +784,7 @@ class ResConfigSettings(models.TransientModel, ResConfigModuleInstallationMixin) field0 = self._fields[fname0] old_value = field0.convert_to_record( field0.convert_to_cache(values[fname0], self), self) - for fname in field.related[1:]: + for fname in fnames: old_value = next(iter(old_value), old_value)[fname] # determine the new value