aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/relations.py
diff options
context:
space:
mode:
authorTom Christie2014-10-08 17:03:14 +0100
committerTom Christie2014-10-08 17:03:14 +0100
commitf7d43f530a94e686d2f93781471b9ac4e90d0f58 (patch)
tree348f7f3e4e6d52e52b375e90c0c5fee2309107c9 /rest_framework/relations.py
parent5ead8dc89d1a99d6189170dc8dac19cdc8ba7750 (diff)
downloaddjango-rest-framework-f7d43f530a94e686d2f93781471b9ac4e90d0f58.tar.bz2
Limit blank string -> None to just be on relational fields
Diffstat (limited to 'rest_framework/relations.py')
-rw-r--r--rest_framework/relations.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/rest_framework/relations.py b/rest_framework/relations.py
index e9dd7dde..c1e5aa18 100644
--- a/rest_framework/relations.py
+++ b/rest_framework/relations.py
@@ -1,5 +1,5 @@
from rest_framework.compat import smart_text, urlparse
-from rest_framework.fields import Field
+from rest_framework.fields import empty, Field
from rest_framework.reverse import reverse
from django.core.exceptions import ObjectDoesNotExist, ImproperlyConfigured
from django.core.urlresolvers import resolve, get_script_prefix, NoReverseMatch, Resolver404
@@ -31,6 +31,12 @@ class RelatedField(Field):
)
return super(RelatedField, cls).__new__(cls, *args, **kwargs)
+ def run_validation(self, data=empty):
+ # We force empty strings to None values for relational fields.
+ if data == '':
+ data = None
+ return super(RelatedField, self).run_validation(data)
+
def get_queryset(self):
queryset = self.queryset
if isinstance(queryset, QuerySet):