[IMP] fields: improve code in former commit
authorRaphael Collet <rco@openerp.com>
Tue, 8 Jul 2014 13:52:02 +0000 (15:52 +0200)
committerRaphael Collet <rco@openerp.com>
Tue, 8 Jul 2014 13:52:02 +0000 (15:52 +0200)
openerp/fields.py

index d4a880c..be5b58f 100644 (file)
@@ -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))