summaryrefslogtreecommitdiff
path: root/odoo/api.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-11-28 17:44:46 +0100
committerChristophe Simonis <chs@odoo.com>2018-11-28 17:44:46 +0100
commitefe7ca16b77edce73bf538ccb70678a52afdfd1d (patch)
treead5af92d3bb397fd58fd861e6ce8e3abd2902ec6 /odoo/api.py
parentb09f624f20781d65baf2060df40383898e6f86e5 (diff)
parentbb6f6c57f97b091f3f68161039de980eb9ce739d (diff)
[MERGE] forward port branch 11.0 up to bb6f6c57f97
Diffstat (limited to 'odoo/api.py')
-rw-r--r--odoo/api.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/odoo/api.py b/odoo/api.py
index d1b1872e7f5..075d9ac3cab 100644
--- a/odoo/api.py
+++ b/odoo/api.py
@@ -983,6 +983,12 @@ class Cache(object):
value = self._data[field][record.id].get(key, SpecialValue(None))
return default if isinstance(value, SpecialValue) else value
+ def get_special(self, record, field, default=None):
+ """ Return the special value of ``field`` for ``record``. """
+ key = field.cache_key(record)
+ value = self._data[field][record.id].get(key)
+ return value.get if isinstance(value, SpecialValue) else default
+
def set_special(self, record, field, getter):
""" Set the value of ``field`` for ``record`` to return ``getter()``. """
key = field.cache_key(record)