diff --git a/rest_framework/request.py b/rest_framework/request.py index ec4b749c26..c2a292d8db 100644 --- a/rest_framework/request.py +++ b/rest_framework/request.py @@ -334,7 +334,7 @@ def _parse(self): if media_type and is_form_media_type(media_type): empty_data = QueryDict('', encoding=self._request._encoding) else: - empty_data = {} + empty_data = None empty_files = MultiValueDict() return (empty_data, empty_files) diff --git a/tests/test_request.py b/tests/test_request.py index 0f682deb01..6400687808 100644 --- a/tests/test_request.py +++ b/tests/test_request.py @@ -56,14 +56,14 @@ def test_standard_behaviour_determines_no_content_GET(self): Ensure request.data returns empty QueryDict for GET request. """ request = Request(factory.get('/')) - assert request.data == {} + assert request.data is None def test_standard_behaviour_determines_no_content_HEAD(self): """ Ensure request.data returns empty QueryDict for HEAD request. """ request = Request(factory.head('/')) - assert request.data == {} + assert request.data is None def test_request_DATA_with_form_content(self): """ diff --git a/tests/test_testing.py b/tests/test_testing.py index 8094bfd8d2..c4a343d405 100644 --- a/tests/test_testing.py +++ b/tests/test_testing.py @@ -5,7 +5,7 @@ from django.shortcuts import redirect from django.test import TestCase, override_settings -from rest_framework import fields, serializers +from rest_framework import serializers from rest_framework.decorators import api_view from rest_framework.response import Response from rest_framework.test import ( @@ -35,13 +35,10 @@ def redirect_view(request): return redirect('/view/') -class BasicSerializer(serializers.Serializer): - flag = fields.BooleanField(default=lambda: True) - - @api_view(['POST']) def post_view(request): - serializer = BasicSerializer(data=request.data) + serializer = serializers.Serializer(data=request.data) + serializer.allow_null = True serializer.is_valid(raise_exception=True) return Response(serializer.validated_data) @@ -198,7 +195,7 @@ def test_empty_post_uses_default_boolean_value(self): content_type='application/json' ) assert response.status_code == 200 - assert response.data == {"flag": True} + assert response.data is None class TestAPIRequestFactory(TestCase):
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: