Don't have the ModelSerializer trust deserialized objects to not have redefine bool()ean-ness.

If the model we're using the ModelSerializer for has redefined methods that act as a boolean (__bool__ or __len__), it may not return the object even though it is_valid(), and should.
This commit is contained in:
J. Paul Reed 2013-04-02 01:41:31 -07:00 committed by J. Paul Reed
parent 5ed7032427
commit 889558365b

View File

@ -741,7 +741,7 @@ class ModelSerializer(Serializer):
Override the default method to also include model field validation.
"""
instance = super(ModelSerializer, self).from_native(data, files)
if instance:
if not self._errors:
return self.full_clean(instance)
def save_object(self, obj, **kwargs):