- 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.
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
Sign in to leave a comment.

