local_cache and model2ids must depend on datetime
review650002
This commit is contained in:
1 parent
289eaac537
commit
b2d11b6df5
1 file changed
+6
-5
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user