diff --git a/openerp/fields.py b/openerp/fields.py index ba3bc259282f9fd69f6ed54dacf8a0b80312e2fa..fc421fc1cc5c5bda103918311330d6c54bb4aea9 100644 --- a/openerp/fields.py +++ b/openerp/fields.py @@ -64,9 +64,11 @@ def copy_cache(records, env): for record, target in zip(records, records.with_env(env)): if not target._cache: for name, value in record._cache.iteritems(): - target[name] = value if isinstance(value, BaseModel): + target._cache[name] = value.with_env(env) copy_cache(value, env) + else: + target._cache[name] = value def resolve_all_mro(cls, name, reverse=False):