[Answered ]-Django mod_wsgi PicklingError while saving object

2👍

See this answer. Does that help?

EDIT (responding to your comment):

I’m afraid I don’t know either django or your code well enough to give you a fix. I do have a clearer idea of the underlying error, though: Before this error occurred, an instance of decimal.Decimal was created, and then for some reason the class decimal.Decimal was re-defined. The pickle class doesn’t work when it can’t locate, by name, the class definition for a given object.

Here’s an interpreter session showing a similar problem:

>>> import cPickle
>>> class Foo(object):
...     pass
... 
>>> f = Foo()
>>> s = cPickle.dumps(f)
>>>
>>> # Redefine class Foo 
>>> class Foo(object):
...     pass
... 
>>> # Now attempt to pickle the same object that was created with the old Foo class
>>> s = cPickle.dumps(f)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
cPickle.PicklingError: Can't pickle <class '__main__.Foo'>: it's not the same object as __main__.Foo
>>>
>>> # Create an object with the new Foo class, and try to pickle it (this works)
>>> f2 = Foo()
>>> s = cPickle.dumps(f2)

Leave a comment