Fatal error when saving preferences in /my/preferences/:
Traceback
Environment: Request Method: POST Request URL: http://localhost:8000/my/preferences/ Django Version: 3.0.1 Python Version: 3.8.1 Installed Applications: ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'django.contrib.staticfiles', 'django_comments', 'django.contrib.messages', 'tracker', 'users', 'api', 'customcomments', 'sendfile', 'snowpenguin.django.recaptcha2', 'widget_tweaks', 'social_django', 'rest_framework', 'rest_framework.authtoken', 'rest_framework_swagger', 'django_filters', 'background_task', 'crequest') Installed Middleware: ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'social_django.middleware.SocialAuthExceptionMiddleware', 'crequest.middleware.CrequestMiddleware', 'tracker.middleware.WarnIEUsers', 'tracker.middleware.InvalidOauth'] Traceback (most recent call last): File "/home/manuel/Google Code-in/tracker/deploy/pyenv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner response = get_response(request) File "/home/manuel/Google Code-in/tracker/deploy/pyenv/lib/python3.8/site-packages/django/core/handlers/base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) File "/home/manuel/Google Code-in/tracker/deploy/pyenv/lib/python3.8/site-packages/django/core/handlers/base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/home/manuel/Google Code-in/tracker/deploy/pyenv/lib/python3.8/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view return view_func(request, *args, **kwargs) File "/home/manuel/Google Code-in/tracker/trackersite/tracker/views.py", line 373, in preferences del request.POST[notification_type[0]] File "/home/manuel/Google Code-in/tracker/deploy/pyenv/lib/python3.8/site-packages/django/http/request.py", line 473, in __delitem__ self._assert_mutable() File "/home/manuel/Google Code-in/tracker/deploy/pyenv/lib/python3.8/site-packages/django/http/request.py", line 464, in _assert_mutable raise AttributeError("This QueryDict instance is immutable") Exception Type: AttributeError at /my/preferences/ Exception Value: This QueryDict instance is immutable
According to Django's documentation:
The QueryDicts at request.POST and request.GET will be immutable when accessed in a normal request/response cycle. To get a mutable version you need to use QueryDict.copy().