Profile image for Ian Lewis IanLewis
This is a pickled object field. This allows pickling objects and saving them to a field in the database. Objects can be accessed as a normal value of the model instance.
Language
Python
Tags
django field model pickle

Django Pickled Object Field

1 try: 2 import cPickle as pickle 3 except ImportError: 4 import pickle 5 6 import base64 7 8 from django.db import models 9 10 class PickledObjectField(models.TextField): 11 __metaclass__ = models.SubfieldBase 12 13 def to_python(self, value): 14 if value is None: return None 15 if not isinstance(value, basestring): return value 16 return pickle.loads(base64.b64decode(value)) 17 18 def get_db_prep_save(self, value): 19 if value is None: return 20 return base64.b64encode(pickle.dumps(value))

Comments