summaryrefslogtreecommitdiff
path: root/addons/base_sparse_field/models/fields.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/base_sparse_field/models/fields.py')
-rw-r--r--addons/base_sparse_field/models/fields.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/addons/base_sparse_field/models/fields.py b/addons/base_sparse_field/models/fields.py
index 131598f934c..199bc9c3494 100644
--- a/addons/base_sparse_field/models/fields.py
+++ b/addons/base_sparse_field/models/fields.py
@@ -82,11 +82,14 @@ class Serialized(fields.Field):
column_type = ('text', 'text')
def convert_to_column(self, value, record, values=None, validate=True):
- return json.dumps(value)
+ return self.convert_to_cache(value, record, validate=validate)
def convert_to_cache(self, value, record, validate=True):
- # cache format: dict
- value = value or {}
- return value if isinstance(value, dict) else json.loads(value)
+ # cache format: json.dumps(value) or None
+ return json.dumps(value) if isinstance(value, dict) else (value or None)
+
+ def convert_to_record(self, value, record):
+ return json.loads(value or "{}")
+
fields.Serialized = Serialized