summaryrefslogtreecommitdiff
path: root/odoo/api.py
diff options
context:
space:
mode:
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 22b82d17147..75d04ad21c3 100644
--- a/odoo/api.py
+++ b/odoo/api.py
@@ -1057,6 +1057,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)