diff --git a/rest_framework/response.py b/rest_framework/response.py index 0a7d313f4..3ec63f403 100644 --- a/rest_framework/response.py +++ b/rest_framework/response.py @@ -6,10 +6,9 @@ The appropriate renderer is called during Django's template response rendering. """ from __future__ import unicode_literals import django -from django.core.handlers.wsgi import STATUS_CODE_TEXT from django.template.response import SimpleTemplateResponse from django.utils import six - +import httplib class Response(SimpleTemplateResponse): """ @@ -81,7 +80,7 @@ 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, '') + return httplib[self.status_code] def __getstate__(self): """ diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index aef815a88..c7a5de987 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -1081,7 +1081,10 @@ class ModelSerializer(Serializer): self.save_object(related) else: # Reverse FK or reverse one-one - setattr(obj, accessor_name, related) + try: + setattr(obj, accessor_name, related) + except ValueError: + getattr(obj, accessor_name).add(*related, bulk=False) del(obj._related_data)