Traceback (most recent call last):
File "/home/user/.virtualenvs/env/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/user/.virtualenvs/env/lib/python3.6/site-packages/django/utils/deprecation.py", line 93, in __call__
response = self.process_response(request, response)
File "/home/user/Desktop/project/my_project/app1/middleware.py", line 98, in process_response
request.session.save()
File "/home/user/.virtualenvs/env/lib/python3.6/site-packages/django/contrib/sessions/backends/db.py", line 83, in save
obj = self.create_model_instance(data)
File "/home/user/.virtualenvs/env/lib/python3.6/site-packages/django/contrib/sessions/backends/db.py", line 70, in create_model_instance
session_data=self.encode(data),
File "/home/user/.virtualenvs/env/lib/python3.6/site-packages/django/contrib/sessions/backends/base.py", line 96, in encode
serialized = self.serializer().dumps(session_dict)
File "/home/user/.virtualenvs/env/lib/python3.6/site-packages/django/core/signing.py", line 87, in dumps
return json.dumps(obj, separators=(',', ':')).encode('latin-1')
File "/usr/local/lib/python3.6/json/__init__.py", line 238, in dumps
**kw).encode(obj)
File "/usr/local/lib/python3.6/json/encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/local/lib/python3.6/json/encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "/usr/local/lib/python3.6/json/encoder.py", line 180, in default
o.__class__.__name__)
TypeError: Object of type '__proxy__' is not JSON serializable
Я уже проверил значения в request.session.keys
, зарегистрировав каждое значение и его типы. Ни один не является __proxy__
объектом.
Кроме того, маловероятно, что str на самом деле является функциональным объектом django. __proxy__
или каким-либо объектом перевода, потому что это будет показано. Возможно ли быть ошибкой Django?
Джанго == 2.1.4
Промежуточное программное обеспечение, которое я использую
class CustomMiddleware(SessionMiddleware):
...
Это происходит только с одним моим представлением, которое обрабатывает метод post и возвращает ответ JSON, поэтому маловероятно, что переменная, вызывающая эту ошибку, будет получена из представления, как это было бы при вызове render_json_response(context)