diff options
| author | Tom Christie | 2014-02-28 09:27:27 +0000 |
|---|---|---|
| committer | Tom Christie | 2014-02-28 09:27:27 +0000 |
| commit | c3c69f4304b834f816bac847520faf170f2a1340 (patch) | |
| tree | 52340495dbbccf66c022d0615dd29b5dd0d75a60 /rest_framework/relations.py | |
| parent | 1a75e7b02b5c838cb7b4b3124c4f6b5873c00c91 (diff) | |
| parent | f126856f65aa86de2c4cc1b1e3bb6a52cebb34b8 (diff) | |
| download | django-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.py | 7 |
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] |
