summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAdam Johnson <me@adamj.eu>2020-01-30 09:28:32 +0000
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-01-13 13:50:20 +0100
commit45a42aabfa1a86d1806bec93b31ef6ed7ccd51a7 (patch)
tree06aa1a1d8f51da669a248d323ea3ef25e31507d1 /django
parentc920387faba8da2f65fca49d191b6a93a9becdba (diff)
Fixed #29708 -- Deprecated PickleSerializer.
Diffstat (limited to 'django')
-rw-r--r--django/contrib/sessions/serializers.py1
-rw-r--r--django/core/serializers/base.py7
2 files changed, 8 insertions, 0 deletions
diff --git a/django/contrib/sessions/serializers.py b/django/contrib/sessions/serializers.py
index 5b6c343daa..6a9452bba0 100644
--- a/django/contrib/sessions/serializers.py
+++ b/django/contrib/sessions/serializers.py
@@ -1,3 +1,4 @@
+# RemovedInDjango50Warning.
from django.core.serializers.base import (
PickleSerializer as BasePickleSerializer,
)
diff --git a/django/core/serializers/base.py b/django/core/serializers/base.py
index 3bd492ec09..45c43a77d6 100644
--- a/django/core/serializers/base.py
+++ b/django/core/serializers/base.py
@@ -2,10 +2,12 @@
Module for abstract serializer/unserializer base classes.
"""
import pickle
+import warnings
from io import StringIO
from django.core.exceptions import ObjectDoesNotExist
from django.db import models
+from django.utils.deprecation import RemovedInDjango50Warning
DEFER_FIELD = object()
@@ -16,6 +18,11 @@ class PickleSerializer:
cache backends.
"""
def __init__(self, protocol=None):
+ warnings.warn(
+ 'PickleSerializer is deprecated due to its security risk. Use '
+ 'JSONSerializer instead.',
+ RemovedInDjango50Warning,
+ )
self.protocol = pickle.HIGHEST_PROTOCOL if protocol is None else protocol
def dumps(self, obj):