This is particularly problematic when dealing with pickled data because
Django always uses the latest protocol (through the
`pickle.HIGHEST_PROTOCOL` constant) which prevent the data from being
unpickled on instances that don't have access. For example, if some data
is pickled on Python 3.4 canary where `pickle.HIGHEST_PROTOCOL == 4` it
won't be pickleable on the rest of the Python 3.3 servers sharing this
global state.
Django should make it easier to override the pickling protocol used within
methods and functions to allow users to temporarily _freeze_ the protocol
used during the transition period.
--
Ticket URL: <https://code.djangoproject.com/ticket/29550>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
Comment (by Simon Charette):
[https://github.com/django/django/pull/10144 PR]
--
Ticket URL: <https://code.djangoproject.com/ticket/29550#comment:1>
* stage: Unreviewed => Ready for checkin
* component: Uncategorized => Core (Other)
--
Ticket URL: <https://code.djangoproject.com/ticket/29550#comment:2>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"37835883ad55b3c4c3340eb8721b41fffe3ee0ef" 37835883]:
{{{
#!CommitTicketReference repository=""
revision="37835883ad55b3c4c3340eb8721b41fffe3ee0ef"
Fixed #29550 -- Eased overriding pickle.dumps() protocol in cache backends
and session serializer.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/29550#comment:3>