I have insert a small cache mechanism. So pickle.loads() would only used for 
the 
first _get_value():

---------------------------------------------------------

class Preference(models.Model):
     def __init__(self, *args, **kwargs):
         self._cache = {}
         super(Preference, self).__init__(*args, **kwargs)

     ...

     def _get_value(self):
         if "value" in self._cache:
             value = self._cache["value"]
         else:
             value = pickle.loads(self._value)
             self._cache["value"] = value
         return value

     def _set_value(self, value):
         self._cache["value"] = value
         self._value = pickle.dumps(value)

     _value = models.TextField()
     value = property(_get_value, _set_value)

     ...

---------------------------------------------------------


-- 
Mfg.

Jens Diemer


----
A django powered CMS: http://www.pylucid.org


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to