From 5f4fa5685626b257db1822fc8cc2ba51ccb72df9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 3 Jan 2020 14:52:41 +0000 Subject: [PATCH] [FIX] base(_address_extended): correctly fix cache miss bug when creating company MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without this flush, partner computed fields are not computed when creating the company, leading to a cache miss. It is due to the quite complex model introduced in base_address_extended with multiple related / computed / inverse fields. How to reproduce * have base_address_extended installed; * create a company with address bits (street_name, street_number, street_number2); * encounter a nice cache miss bug (partner.street_number): Original task ID 2068145 PR odoo/odoo#42701 closes odoo/odoo#42722 X-original-commit: 69ea928828fca06c9b0f589e23ca3c0d4c387ab0 Signed-off-by: Thibault Delavallee (tde) Co-authored-by: Thibault Delavallée Co-authored-by: Aurélien Warnon --- odoo/addons/base/models/res_company.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/odoo/addons/base/models/res_company.py b/odoo/addons/base/models/res_company.py index 1a84c033381..71ecfd4dd6b 100644 --- a/odoo/addons/base/models/res_company.py +++ b/odoo/addons/base/models/res_company.py @@ -224,6 +224,8 @@ class Company(models.Model): 'website': vals.get('website'), 'vat': vals.get('vat'), }) + # compute stored fields, for example address dependent fields + partner.flush() vals['partner_id'] = partner.id self.clear_caches() company = super(Company, self).create(vals)