summaryrefslogtreecommitdiff
path: root/odoo/api.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-02-21 15:37:19 +0100
committerChristophe Simonis <chs@odoo.com>2019-02-21 15:37:19 +0100
commit1d2b6f1bef6af13245d29d56cbb5f9d61f9ca038 (patch)
tree8ea1d203aef83d287de9ec578f81bd64eedb7359 /odoo/api.py
parentf945b1bcc21621cfc056e40f4d66b7181d19239e (diff)
parent84143a34b313c01b0b37b7d7246ce3d5c9476002 (diff)
[MERGE] forward port branch 12.0 up to 84143a34b31
Diffstat (limited to 'odoo/api.py')
-rw-r--r--odoo/api.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/odoo/api.py b/odoo/api.py
index dffbc0e633a..b22d9ac2476 100644
--- a/odoo/api.py
+++ b/odoo/api.py
@@ -1036,7 +1036,7 @@ class Cache(object):
""" Return the value of ``field`` for ``record``. """
key = record.env.cache_key(field)
try:
- value = self._data[key][field][record.id]
+ value = self._data[key][field][record._ids[0]]
except KeyError:
raise CacheMiss(record, field)
@@ -1045,7 +1045,12 @@ class Cache(object):
def set(self, record, field, value):
""" Set the value of ``field`` for ``record``. """
key = record.env.cache_key(field)
- self._data[key][field][record.id] = value
+ self._data[key][field][record._ids[0]] = value
+
+ def update(self, records, field, values):
+ """ Set the values of ``field`` for several ``records``. """
+ key = records.env.cache_key(field)
+ self._data[key][field].update(zip(records._ids, values))
def remove(self, record, field):
""" Remove the value of ``field`` for ``record``. """