From ddafbab3e44f2fc2a07d31e95a29fa380200d5d6 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Tue, 15 Mar 2016 14:17:44 +0100 Subject: [PATCH] [FIX] models: do not load custom fields with `depends` when `partial=True` Upgrading a module in the presence of computed custom fields can fail, if a computed custom field depends on another field from a module that is not loaded yet. The patch simply prevents custom fields with dependencies from being loaded in partial mode. --- openerp/models.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openerp/models.py b/openerp/models.py index 3e350b84d41..d779f487309 100644 --- a/openerp/models.py +++ b/openerp/models.py @@ -728,6 +728,8 @@ class BaseModel(object): attrs['domain'] = eval(field['domain']) if field['domain'] else None # add compute function if given if field['compute']: + if partial and field['depends']: + continue attrs['compute'] = make_compute(field['compute'], field['depends']) self._add_field(name, Field.by_type[field['ttype']](**attrs))