serialization and versioning
Robert Kern
robert.kern at gmail.com
Fri Oct 12 09:26:19 EDT 2012
More information about the Python-list mailing list
Fri Oct 12 09:26:19 EDT 2012
- Previous message (by thread): serialization and versioning
- Next message (by thread): serialization and versioning
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 10/12/12 11:42 AM, Neal Becker wrote: > I wonder if there is a recommended approach to handle this issue. > > Suppose objects of a class C are serialized using python standard pickling. > Later, suppose class C is changed, perhaps by adding a data member and a new > constructor argument. > > It would see the pickling protocol does not directly provide for this - but is > there a recommended method? > > I could imagine that a class could include a class __version__ property that > might be useful - although I would further expect that it would not have been > defined in the original version of class C (but only as an afterthought when it > became necessary). You don't need to add anything to the actual attributes on the class. Just define your __getstate__() dict to include a '__version__' item. You can treat the absence of '__version__' in the dict that __setstate__() receives as implying "version 0". -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco
- Previous message (by thread): serialization and versioning
- Next message (by thread): serialization and versioning
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list