From 963c5fe4a702f906576ae66e2c4c3193896fcd38 Mon Sep 17 00:00:00 2001 From: Jacob Magnusson Date: Sun, 4 Nov 2012 12:48:41 +0100 Subject: [PATCH] Remove attributes that are not needed when caching the Response object. This fixes #346 --- rest_framework/response.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rest_framework/response.py b/rest_framework/response.py index 7a459c8f5..006d7eebb 100644 --- a/rest_framework/response.py +++ b/rest_framework/response.py @@ -45,3 +45,13 @@ 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