How to make SQLObject instances "picklable"?
Sat, 01 Nov 2008 20:17:53 +0000
I tried to store SQLObject instances in a session, but had problems with pickling them. Here is smart base class for model classes that allow to fast pickle / unpickle operation:
from sqlobject import * import logging class Base(SQLObject): def __getstate__(self): return self.id def __setstate__(self,id): obj = self.__class__.get(id) self.__dict__ = obj.__dict__Just inherit from that class and that's all. Remember: restoring object from db is cheap: SQLObject caches instances in memory.