Add support for RENAMED_FIELD_TYPES in the legacy pickler.

Review Request #14208 — Created Oct. 17, 2024 and submitted — Latest diff uploaded

Information

Django Evolution
release-2.x

Reviewers

Django Evolution's modern JSON-based serializer gained support for
RENAMED_FIELD_TYPES, which allowed codebases to map legacy field
classes to new ones. However, the legacy pickle-based deserializer
didn't have this capability, meaning that older codebases would still
fail to find renamed modules.

This change adds support for RENAMED_FIELD_TYPES in the legacy
unpickler. This unpickler already hard-codes support for some legacy
types, making this pretty straightforward.

Tested an upgrade with the legacy unpickler referencing a module we
wanted to rename. Verified the upgrade worked successfully.

Diff Revision 1 (Latest)

Commits

First Last Summary ID Author
Add support for RENAMED_FIELD_TYPES in the legacy pickler.
Django Evolution's modern JSON-based serializer gained support for `RENAMED_FIELD_TYPES`, which allowed codebases to map legacy field classes to new ones. However, the legacy pickle-based deserializer didn't have this capability, meaning that older codebases would still fail to find renamed modules. This change adds support for `RENAMED_FIELD_TYPES` in the legacy unpickler. This unpickler already hard-codes support for some legacy types, making this pretty straightforward.
20159690070da6caa01c43475c776c21aceee3f4 Christian Hammond
django_evolution/compat/picklers.py
Loading...