diff options
| author | Christophe Simonis <chs@odoo.com> | 2015-01-19 17:15:56 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2015-01-19 17:15:56 +0100 |
| commit | 18e22be138f4d273ce8f63c0ff2c8a437cf6ce5d (patch) | |
| tree | 63bd658de7b6fa0e91d521ca19322dd68bdc1492 /openerp/fields.py | |
| parent | f6e5bf847b1a7107c09b009a757823b0f9514fa4 (diff) | |
| parent | 0aab81cd3ac6881b2b64ccedb901b55badd421d4 (diff) | |
[MERGE] forward port of branch 8.0 up to 0aab81c
Diffstat (limited to 'openerp/fields.py')
| -rw-r--r-- | openerp/fields.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/openerp/fields.py b/openerp/fields.py index b16151176a6..030872c0092 100644 --- a/openerp/fields.py +++ b/openerp/fields.py @@ -460,7 +460,8 @@ class Field(object): # determine dependencies, compute, inverse, and search self.depends = ('.'.join(self.related),) self.compute = self._compute_related - self.inverse = self._inverse_related + if not (self.readonly or field.readonly): + self.inverse = self._inverse_related if field._description_searchable: # allow searching on self only if the related field is searchable self.search = self._search_related @@ -1751,6 +1752,14 @@ class Many2many(_RelationalMulti): _column_limit = property(attrgetter('limit')) +class Serialized(Field): + """ Minimal support for existing sparse and serialized fields. """ + type = 'serialized' + + def convert_to_cache(self, value, record, validate=True): + return value or {} + + class Id(Field): """ Special case for field 'id'. """ store = True @@ -1774,7 +1783,6 @@ class Id(Field): def __set__(self, record, value): raise TypeError("field 'id' cannot be assigned") - # imported here to avoid dependency cycle issues from openerp import SUPERUSER_ID from .exceptions import Warning, AccessError, MissingError |
