diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-02-21 15:37:19 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-02-21 15:37:19 +0100 |
| commit | 1d2b6f1bef6af13245d29d56cbb5f9d61f9ca038 (patch) | |
| tree | 8ea1d203aef83d287de9ec578f81bd64eedb7359 /odoo/api.py | |
| parent | f945b1bcc21621cfc056e40f4d66b7181d19239e (diff) | |
| parent | 84143a34b313c01b0b37b7d7246ce3d5c9476002 (diff) | |
[MERGE] forward port branch 12.0 up to 84143a34b31
Diffstat (limited to 'odoo/api.py')
| -rw-r--r-- | odoo/api.py | 9 |
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``. """ |
