aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/relations.py
diff options
context:
space:
mode:
authorTom Christie2014-02-28 09:27:27 +0000
committerTom Christie2014-02-28 09:27:27 +0000
commitc3c69f4304b834f816bac847520faf170f2a1340 (patch)
tree52340495dbbccf66c022d0615dd29b5dd0d75a60 /rest_framework/relations.py
parent1a75e7b02b5c838cb7b4b3124c4f6b5873c00c91 (diff)
parentf126856f65aa86de2c4cc1b1e3bb6a52cebb34b8 (diff)
downloaddjango-rest-framework-c3c69f4304b834f816bac847520faf170f2a1340.tar.bz2
Merge pull request #1441 from dustinfarris/null-serialization
TestCases and POST/PUT'ing serialized data that contains `None`
Diffstat (limited to 'rest_framework/relations.py')
-rw-r--r--rest_framework/relations.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/rest_framework/relations.py b/rest_framework/relations.py
index 02185c2f..163a8984 100644
--- a/rest_framework/relations.py
+++ b/rest_framework/relations.py
@@ -33,6 +33,7 @@ class RelatedField(WritableField):
many_widget = widgets.SelectMultiple
form_field_class = forms.ChoiceField
many_form_field_class = forms.MultipleChoiceField
+ null_values = (None, '', 'None')
cache_choices = False
empty_label = None
@@ -168,9 +169,9 @@ class RelatedField(WritableField):
return
value = [] if self.many else None
- if value in (None, '') and self.required:
- raise ValidationError(self.error_messages['required'])
- elif value in (None, ''):
+ if value in self.null_values:
+ if self.required:
+ raise ValidationError(self.error_messages['required'])
into[(self.source or field_name)] = None
elif self.many:
into[(self.source or field_name)] = [self.from_native(item) for item in value]