From 75e5573865e8f8002b7fd68cce88282a39c87e25 Mon Sep 17 00:00:00 2001 From: Renato Rufino Date: Wed, 23 Jul 2014 01:05:52 -0300 Subject: [PATCH] adding support for rendering_attrs in SimpleTemplateResponse MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit __getstate__ method in django < 1.4 the implementation changed a bit in recent versions and it’s not hardcoded anymore its using the rendering_attrs to better support customising pickle --- rest_framework/compat.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/rest_framework/compat.py b/rest_framework/compat.py index fdf12448a..43cc3277b 100644 --- a/rest_framework/compat.py +++ b/rest_framework/compat.py @@ -600,3 +600,20 @@ except ImportError: klass.__unicode__ = klass.__str__ klass.__str__ = lambda self: self.__unicode__().encode('utf-8') return klass + + +from django.template.response import SimpleTemplateResponse as _SimpleTemplateResponse +if django.VERSION > (1, 4): + SimpleTemplateResponse = _SimpleTemplateResponse +else: + class SimpleTemplateResponse(_SimpleTemplateResponse): + rendering_attrs = [] + + def __getstate__(self): + state = super(SimpleTemplateResponse, self).__getstate__() + #apply the same logic django > 1.4 implements + for key in self.rendering_attrs: + if key in state: + del state[key] + + return state