diff options
| author | Anton Shutik | 2014-02-27 18:34:36 +0300 |
|---|---|---|
| committer | Anton Shutik | 2014-02-27 18:34:36 +0300 |
| commit | 1addd09e2b0e26507aada864123f610ead62d8da (patch) | |
| tree | fd7fbeea4220d752b9811bbf5c5c0714a5716735 /rest_framework/relations.py | |
| parent | 6e92e415aa7dd6871ef7d6500a85cacebde8dca2 (diff) | |
| download | django-rest-framework-1addd09e2b0e26507aada864123f610ead62d8da.tar.bz2 | |
RelatedField default value handling fixed
Diffstat (limited to 'rest_framework/relations.py')
| -rw-r--r-- | rest_framework/relations.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/rest_framework/relations.py b/rest_framework/relations.py index 02185c2f..626454ac 100644 --- a/rest_framework/relations.py +++ b/rest_framework/relations.py @@ -118,6 +118,13 @@ class RelatedField(WritableField): choices = property(_get_choices, _set_choices) + ### Default value handling + + def get_default_value(self): + default = super(RelatedField, self).get_default_value() + return default or \ + [] if self.many else None + ### Regular serializer stuff... def field_to_native(self, obj, field_name): @@ -166,7 +173,7 @@ class RelatedField(WritableField): except KeyError: if self.partial: return - value = [] if self.many else None + value = self.get_default_value() if value in (None, '') and self.required: raise ValidationError(self.error_messages['required']) |
