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