From 498b74d68b66252d429c1648b4c545ec82ee2fc0 Mon Sep 17 00:00:00 2001 From: Kaan Soral Date: Tue, 30 Jan 2024 12:38:26 +0300 Subject: [PATCH] Extend the "NDB_PY2_UNPICKLE_COMPAT" flag 'latin1' encoding is the fix to most of the common DecodeError's --- src/google/appengine/ext/ndb/model.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/google/appengine/ext/ndb/model.py b/src/google/appengine/ext/ndb/model.py index 4671662..069aff5 100755 --- a/src/google/appengine/ext/ndb/model.py +++ b/src/google/appengine/ext/ndb/model.py @@ -1913,7 +1913,10 @@ def _from_base_type(self, value): return pickle.loads(value) except UnicodeDecodeError: if int(os.environ.get('NDB_PY2_UNPICKLE_COMPAT', '0')): - return pickle.loads(value, encoding='bytes') + try: + return pickle.loads(value, encoding='bytes') + except: + return pickle.loads(value, encoding='latin1') raise