From 603bde1b1b5ecb04fd9c65cdf2a279a4e0c50556 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Tue, 8 Jul 2014 15:52:02 +0200 Subject: [PATCH] [IMP] fields: improve code in former commit --- openerp/fields.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/openerp/fields.py b/openerp/fields.py index d4a880c5f43..be5b58ffcf4 100644 --- a/openerp/fields.py +++ b/openerp/fields.py @@ -832,10 +832,13 @@ class Field(object): computed = target.browse(env.computed[field]) if path == 'id': target = records - computed + elif path: + target = (target.browse(env.cache[field]) - computed).filtered( + lambda rec: rec._mapped_cache(path) & records + ) else: target = target.browse(env.cache[field]) - computed - if path: - target = target.filtered(lambda rec: rec._mapped_cache(path) & records) + if target: spec.append((field, target._ids))