From 5abcff851204ca39e6ac1d0388b0dd2a765797a4 Mon Sep 17 00:00:00 2001 From: Ajay javiya Date: Tue, 6 Jan 2015 14:43:54 +0530 Subject: [PATCH] [FIX] fields: add minimal support for serialized fields in new API This is necessary for supporting old-api sparse and serialized fields. Without this, old-api serialized fields are broken because they cannot be converted to new-api fields. This closes #4571 --- openerp/fields.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/openerp/fields.py b/openerp/fields.py index 1ea981b5b60..0ee30553088 100644 --- a/openerp/fields.py +++ b/openerp/fields.py @@ -1751,6 +1751,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 +1782,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