Commit f7d43f53 by Tom Christie

Limit blank string -> None to just be on relational fields

parent 5ead8dc8
...@@ -110,7 +110,6 @@ class Field(object): ...@@ -110,7 +110,6 @@ class Field(object):
default_validators = [] default_validators = []
default_empty_html = empty default_empty_html = empty
initial = None initial = None
coerce_blank_to_null = True
def __init__(self, read_only=False, write_only=False, def __init__(self, read_only=False, write_only=False,
required=None, default=empty, initial=empty, source=None, required=None, default=empty, initial=empty, source=None,
...@@ -248,9 +247,6 @@ class Field(object): ...@@ -248,9 +247,6 @@ class Field(object):
self.fail('required') self.fail('required')
return self.get_default() return self.get_default()
if data == '' and self.coerce_blank_to_null:
data = None
if data is None: if data is None:
if not self.allow_null: if not self.allow_null:
self.fail('null') self.fail('null')
......
from rest_framework.compat import smart_text, urlparse 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 rest_framework.reverse import reverse
from django.core.exceptions import ObjectDoesNotExist, ImproperlyConfigured from django.core.exceptions import ObjectDoesNotExist, ImproperlyConfigured
from django.core.urlresolvers import resolve, get_script_prefix, NoReverseMatch, Resolver404 from django.core.urlresolvers import resolve, get_script_prefix, NoReverseMatch, Resolver404
...@@ -31,6 +31,12 @@ class RelatedField(Field): ...@@ -31,6 +31,12 @@ class RelatedField(Field):
) )
return super(RelatedField, cls).__new__(cls, *args, **kwargs) 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): def get_queryset(self):
queryset = self.queryset queryset = self.queryset
if isinstance(queryset, QuerySet): if isinstance(queryset, QuerySet):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment