diff options
Diffstat (limited to 'odoo/api.py')
| -rw-r--r-- | odoo/api.py | 6 |
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) |
