Обновление Django до 2.2 LTS - объект не подлежит подписке

Я пытаюсь обновить проект Django с 1.11 LTS до 2.2 LTS.

Другие пакеты, которые я использую:

Рассмотрим строку ниже, которая работала до тех обновлений, которые я перечислил выше.

CustomUser.cache_objects.get(user=request.user)

Я получаю сообщение об ошибке:

Request Method: GET
Django Version: 2.2
Exception Type: TypeError
Exception Value:    
'dict_keys' object is not subscriptable
Exception Location: /app/.heroku/python/lib/python3.8/site-packages/bmemcached/protocol.py in get_multi, line 497
Python Executable:  /app/.heroku/python/bin/python
Python Version: 3.8.5

Полная трассировка:

Traceback:

File "/app/.heroku/python/lib/python3.8/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/app/.heroku/python/lib/python3.8/site-packages/django/core/handlers/base.py" in _get_response
  115.                 response = self.process_exception_by_middleware(e, request)

File "/app/.heroku/python/lib/python3.8/site-packages/django/core/handlers/base.py" in _get_response
  113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/app/.heroku/python/lib/python3.8/site-packages/django/views/decorators/csrf.py" in wrapped_view
  54.         return view_func(*args, **kwargs)

File "/app/.heroku/python/lib/python3.8/site-packages/rest_framework/viewsets.py" in view
  114.             return self.dispatch(request, *args, **kwargs)

File "/app/.heroku/python/lib/python3.8/site-packages/rest_framework/views.py" in dispatch
  505.             response = self.handle_exception(exc)

File "/app/.heroku/python/lib/python3.8/site-packages/rest_framework/views.py" in handle_exception
  465.             self.raise_uncaught_exception(exc)

File "/app/.heroku/python/lib/python3.8/site-packages/rest_framework/views.py" in raise_uncaught_exception
  476.         raise exc

File "/app/.heroku/python/lib/python3.8/site-packages/rest_framework/views.py" in dispatch
  502.             response = handler(request, *args, **kwargs)

File "/path-to-file" in list
  532.             custom_user = CustomUser.cache_objects.get(user=request.user)

File "/app/.heroku/python/lib/python3.8/site-packages/django/db/models/manager.py" in manager_method
  82.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/app/.heroku/python/lib/python3.8/site-packages/django/db/models/query.py" in get
  402.         num = len(clone)

File "/app/.heroku/python/lib/python3.8/site-packages/django/db/models/query.py" in __len__
  256.         self._fetch_all()

File "/app/.heroku/python/lib/python3.8/site-packages/django/db/models/query.py" in _fetch_all
  1242.             self._result_cache = list(self._iterable_class(self))

File "/app/.heroku/python/lib/python3.8/site-packages/caching/base.py" in __iter__
  144.             self.cache_objects(to_cache, query_key)

File "/app/.heroku/python/lib/python3.8/site-packages/caching/base.py" in cache_objects
  101.         invalidator.cache_objects(self.queryset.model, objects, query_key, query_flush)

File "/app/.heroku/python/lib/python3.8/site-packages/caching/invalidation.py" in cache_objects
  121.         self.add_to_flush_list(flush_lists)

File "/app/.heroku/python/lib/python3.8/site-packages/caching/invalidation.py" in add_to_flush_list
  153.         flush_lists.update(cache.get_many(list(mapping.keys())))

File "/app/.heroku/python/lib/python3.8/site-packages/django/core/cache/backends/memcached.py" in get_many
  88.         ret = self._cache.get_multi(key_map.keys())

File "/app/.heroku/python/lib/python3.8/site-packages/bmemcached/client/replicating.py" in get_multi
  82.                 results = server.get_multi(keys)

File "/app/.heroku/python/lib/python3.8/site-packages/bmemcached/protocol.py" in get_multi
  497.         keys, last = keys[:-1], str_to_bytes(keys[-1])

Exception Type: TypeError at /endpoint
Exception Value: 'dict_keys' object is not subscriptable

Это происходит только на моем экземпляре Heroku, если я запускаю его локально, он работает должным образом.

0 ответов

Другие вопросы по тегам