Commit 2948305b by Tom Christie

Merge pull request #632 from fernandogrd/master

Fix processing of ManyToManyField when it is empty 
parents 1929159d 41364b3b
...@@ -148,7 +148,7 @@ class ManyRelatedMixin(object): ...@@ -148,7 +148,7 @@ class ManyRelatedMixin(object):
value = data.getlist(self.source or field_name) value = data.getlist(self.source or field_name)
except: except:
# Non-form data # Non-form data
value = data.get(self.source or field_name) value = data.get(self.source or field_name, [])
else: else:
if value == ['']: if value == ['']:
value = [] value = []
......
...@@ -31,3 +31,17 @@ class FieldTests(TestCase): ...@@ -31,3 +31,17 @@ class FieldTests(TestCase):
field = serializers.SlugRelatedField(queryset=NullModel.objects.all(), slug_field='pk') field = serializers.SlugRelatedField(queryset=NullModel.objects.all(), slug_field='pk')
self.assertRaises(serializers.ValidationError, field.from_native, '') self.assertRaises(serializers.ValidationError, field.from_native, '')
self.assertRaises(serializers.ValidationError, field.from_native, []) self.assertRaises(serializers.ValidationError, field.from_native, [])
class TestManyRelateMixin(TestCase):
def test_missing_many_to_many_related_field(self):
'''
Regression test for #632
https://github.com/tomchristie/django-rest-framework/pull/632
'''
field = serializers.ManyRelatedField(read_only=False)
into = {}
field.field_from_native({}, None, 'field_name', into)
self.assertEqual(into['field_name'], [])
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