From b2d11b6df5ab1fe841df237bfc7ec43eec0c54a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 4 Feb 2013 20:08:10 +0100 Subject: [PATCH] local_cache and model2ids must depend on datetime review650002 --- trytond/model/modelstorage.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/trytond/model/modelstorage.py b/trytond/model/modelstorage.py index 36ad095d69..c87e886bb2 100644 --- a/trytond/model/modelstorage.py +++ b/trytond/model/modelstorage.py @@ -1301,14 +1301,15 @@ class ModelStorage(Model): Model = field.get_target() except KeyError: return value + ctx = {} + datetime_ = None if getattr(field, 'datetime_field', None): - ctx = {'_datetime': data.get(field.datetime_field)} - else: - ctx = {} + datetime_ = data.get(field.datetime_field) + ctx = {'_datetime': datetime_} with Transaction().set_context(**ctx): - local_cache = model2cache.setdefault(Model, + local_cache = model2cache.setdefault((Model, datetime_), LRUDict(RECORD_CACHE_SIZE)) - ids = model2ids.setdefault(Model, []) + ids = model2ids.setdefault((Model, datetime_), []) if field._type in ('many2one', 'one2one', 'reference'): ids.append(value) return Model(value, _ids=ids, _local_cache=local_cache)