aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/relations.py
diff options
context:
space:
mode:
authorTom Christie2014-03-04 15:26:34 +0000
committerTom Christie2014-03-04 15:26:34 +0000
commit4edd39b2e4a6490e7eac17dd989418f745d8efc3 (patch)
treeed2fb9171bd9283d3314364caa0d005b08f6f4e2 /rest_framework/relations.py
parent24a688223240eb1e71db3c0f00cd621e80cb9fb2 (diff)
parentdea2766abac5ef55fa226f413711cfd49af2a745 (diff)
downloaddjango-rest-framework-4edd39b2e4a6490e7eac17dd989418f745d8efc3.tar.bz2
Merge pull request #1442 from Anton-Shutik/master
RelatedField default value handling fixed
Diffstat (limited to 'rest_framework/relations.py')
-rw-r--r--rest_framework/relations.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/rest_framework/relations.py b/rest_framework/relations.py
index 163a8984..308545ce 100644
--- a/rest_framework/relations.py
+++ b/rest_framework/relations.py
@@ -119,6 +119,14 @@ class RelatedField(WritableField):
choices = property(_get_choices, _set_choices)
+ ### Default value handling
+
+ def get_default_value(self):
+ default = super(RelatedField, self).get_default_value()
+ if self.many and default is None:
+ return []
+ return default
+
### Regular serializer stuff...
def field_to_native(self, obj, field_name):
@@ -167,7 +175,7 @@ class RelatedField(WritableField):
except KeyError:
if self.partial:
return
- value = [] if self.many else None
+ value = self.get_default_value()
if value in self.null_values:
if self.required: