aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/relations.py
diff options
context:
space:
mode:
authorAnton Shutik2014-02-27 18:34:36 +0300
committerAnton Shutik2014-02-27 18:34:36 +0300
commit1addd09e2b0e26507aada864123f610ead62d8da (patch)
treefd7fbeea4220d752b9811bbf5c5c0714a5716735 /rest_framework/relations.py
parent6e92e415aa7dd6871ef7d6500a85cacebde8dca2 (diff)
downloaddjango-rest-framework-1addd09e2b0e26507aada864123f610ead62d8da.tar.bz2
RelatedField default value handling fixed
Diffstat (limited to 'rest_framework/relations.py')
-rw-r--r--rest_framework/relations.py9
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'])