diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 4c2064261..7bed4ab87 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -351,9 +351,8 @@ class ManyRelatedMixin(object): except: # Non-form data value = data.get(self.source or field_name) - else: - if value == ['']: - value = [] + if value == [''] or value is None: + value = [] into[field_name] = [self.from_native(item) for item in value] diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py index 7d750b813..38117b36c 100644 --- a/rest_framework/tests/serializer.py +++ b/rest_framework/tests/serializer.py @@ -342,11 +342,10 @@ class ManyToManyTests(TestCase): serializer = self.serializer_class(data=data) self.assertEqual(serializer.is_valid(), True) instance = serializer.save() - self.assertEquals(len(ManyToManyModel.objects.all()), 3) - self.assertEquals(instance.pk, 3) + self.assertEquals(len(ManyToManyModel.objects.all()), 2) + self.assertEquals(instance.pk, 2) self.assertEquals(list(instance.rel.all()), []) - def test_create_empty_relationship_flat_data(self): """ Create an instance of a model with a ManyToMany relationship,