diff --git a/rest_framework/response.py b/rest_framework/response.py index 1dc6abcf6..4d1a1311f 100644 --- a/rest_framework/response.py +++ b/rest_framework/response.py @@ -6,8 +6,7 @@ The appropriate renderer is called during Django's template response rendering. """ from __future__ import unicode_literals from django.core.handlers.wsgi import STATUS_CODE_TEXT -from django.template.response import SimpleTemplateResponse -from rest_framework.compat import six +from rest_framework.compat import six, SimpleTemplateResponse class Response(SimpleTemplateResponse): @@ -15,6 +14,8 @@ class Response(SimpleTemplateResponse): An HttpResponse that allows its data to be rendered into arbitrary media types. """ + rendering_attrs = SimpleTemplateResponse.rendering_attrs + \ + ['accepted_renderer', 'renderer_context', 'data'] def __init__(self, data=None, status=200, template_name=None, headers=None, @@ -76,13 +77,3 @@ class Response(SimpleTemplateResponse): # TODO: Deprecate and use a template tag instead # TODO: Status code text for RFC 6585 status codes return STATUS_CODE_TEXT.get(self.status_code, '') - - def __getstate__(self): - """ - Remove attributes from the response that shouldn't be cached - """ - state = super(Response, self).__getstate__() - for key in ('accepted_renderer', 'renderer_context', 'data'): - if key in state: - del state[key] - return state