Raise error if passed a serializer instance

This commit is contained in:
José Padilla 2015-08-07 13:12:37 -04:00
parent 0cbfbc27d8
commit 7a0416c50b

View File

@ -10,6 +10,8 @@ from django.template.response import SimpleTemplateResponse
from django.utils import six from django.utils import six
from django.utils.six.moves.http_client import responses from django.utils.six.moves.http_client import responses
from rest_framework.serializers import Serializer
class Response(SimpleTemplateResponse): class Response(SimpleTemplateResponse):
""" """
@ -28,6 +30,15 @@ class Response(SimpleTemplateResponse):
For example being set automatically by the `APIView`. For example being set automatically by the `APIView`.
""" """
super(Response, self).__init__(None, status=status) super(Response, self).__init__(None, status=status)
if isinstance(data, Serializer):
msg = (
'You passed a Serializer instance as data, but '
'probably meant to pass serialized `.data` or '
'`.error`. representation.'
)
raise AssertionError(msg)
self.data = data self.data = data
self.template_name = template_name self.template_name = template_name
self.exception = exception self.exception = exception