Source code for useful_inkleby.useful_django.fields.serial

from __future__ import absolute_import

from django.db import models

try:
    from useful_inkleby.useful_django.serialisers import BasicSerial
except:
    from ..serialisers import BasicSerial


[docs]class JsonBlockField(models.TextField): """ store a collection of generic objects in a jsonblock. Useful for when you have a hierarchy of classes that are only accessed from the one object. """
[docs] def from_db_value(self, value, expression, connection, context): if value is None: return [] return BasicSerial.loads(value)
[docs] def to_python(self, value): if isinstance(value, list): return value if value is None: return value return BasicSerial.loads(value)
[docs] def get_prep_value(self, value): return BasicSerial.dumps(value)