summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/http/request.py4
-rw-r--r--tests/requests/tests.py10
2 files changed, 12 insertions, 2 deletions
diff --git a/django/http/request.py b/django/http/request.py
index 73858c5abd..83131d52c3 100644
--- a/django/http/request.py
+++ b/django/http/request.py
@@ -226,8 +226,8 @@ class HttpRequest(object):
next access (so that it is decoded correctly).
"""
self._encoding = val
- if hasattr(self, '_get'):
- del self._get
+ if hasattr(self, 'GET'):
+ del self.GET
if hasattr(self, '_post'):
del self._post
diff --git a/tests/requests/tests.py b/tests/requests/tests.py
index 4989071cbb..1a243a02b0 100644
--- a/tests/requests/tests.py
+++ b/tests/requests/tests.py
@@ -562,6 +562,16 @@ class RequestsTests(SimpleTestCase):
request.encoding = 'iso-8859-16'
self.assertEqual(request.POST, {'name': ['Hello GĂŒnter']})
+ def test_set_encoding_clears_GET(self):
+ request = WSGIRequest({
+ 'REQUEST_METHOD': 'GET',
+ 'wsgi.input': '',
+ 'QUERY_STRING': b'name=Hello%20G%C3%BCnter' if six.PY2 else 'name=Hello%20G%C3%BCnter'
+ })
+ self.assertEqual(request.GET, {'name': ['Hello Günter']})
+ request.encoding = 'iso-8859-16'
+ self.assertEqual(request.GET, {'name': ['Hello G\u0102\u0152nter']})
+
def test_FILES_connection_error(self):
"""
If wsgi.input.read() raises an exception while trying to read() the