From 7a0416c50bfd663b5690c563d7448f2a10d414d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Padilla?= Date: Fri, 7 Aug 2015 13:12:37 -0400 Subject: [PATCH] Raise error if passed a serializer instance --- rest_framework/response.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/rest_framework/response.py b/rest_framework/response.py index 47d947655..3f038e3b5 100644 --- a/rest_framework/response.py +++ b/rest_framework/response.py @@ -10,6 +10,8 @@ from django.template.response import SimpleTemplateResponse from django.utils import six from django.utils.six.moves.http_client import responses +from rest_framework.serializers import Serializer + class Response(SimpleTemplateResponse): """ @@ -28,6 +30,15 @@ class Response(SimpleTemplateResponse): For example being set automatically by the `APIView`. """ 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.template_name = template_name self.exception = exception