Raise ValidationError instead of accepting missing value

This commit is contained in:
Tomi Pajunen 2012-11-14 11:46:27 +02:00
parent 0bd2f89b8d
commit 47095594de
2 changed files with 8 additions and 7 deletions

View File

@ -351,8 +351,13 @@ class ManyRelatedMixin(object):
except:
# Non-form data
value = data.get(self.source or field_name)
if value == [''] or value is None:
else:
if value == ['']:
value = []
if value is None and self.required:
raise ValidationError("Field '%s' is required" % field_name)
into[field_name] = [self.from_native(item) for item in value]

View File

@ -340,11 +340,7 @@ class ManyToManyTests(TestCase):
"""
data = {}
serializer = self.serializer_class(data=data)
self.assertEqual(serializer.is_valid(), True)
instance = serializer.save()
self.assertEquals(len(ManyToManyModel.objects.all()), 2)
self.assertEquals(instance.pk, 2)
self.assertEquals(list(instance.rel.all()), [])
self.assertEqual(serializer.is_valid(), False)
def test_create_empty_relationship_flat_data(self):
"""