From cf838ab28a118a8c53392d8ac4f4e91fd8dfa5fa Mon Sep 17 00:00:00 2001 From: Felipe Gonzalez Date: Sat, 31 Aug 2024 09:31:21 -0500 Subject: [PATCH] fix: Fixed _pickle.UnpicklingError (#576) The error indicates an issue with unpickling data during the migration process. Specifically, it raises an `_pickle.UnpicklingError` with the message "invalid load key, '{'." The data being loaded may be corrupted or not in the expected format. --- constance/migrations/0003_drop_pickle.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/constance/migrations/0003_drop_pickle.py b/constance/migrations/0003_drop_pickle.py index 726c5aa..91e584c 100644 --- a/constance/migrations/0003_drop_pickle.py +++ b/constance/migrations/0003_drop_pickle.py @@ -40,7 +40,10 @@ def migrate_pickled_data(apps, schema_editor) -> None: # pragma: no cover prefixed_key = f'{_prefix}{key}' value = _rd.get(prefixed_key) if value is not None: - redis_migrated_data[prefixed_key] = dumps(pickle.loads(value)) # noqa: S301 + try: + redis_migrated_data[prefixed_key] = dumps(pickle.loads(value)) # noqa: S301 + except pickle.UnpicklingError: + continue for prefixed_key, value in redis_migrated_data.items(): _rd.set(prefixed_key, value)