diff options
| author | Tom Christie | 2014-03-04 15:26:34 +0000 |
|---|---|---|
| committer | Tom Christie | 2014-03-04 15:26:34 +0000 |
| commit | 4edd39b2e4a6490e7eac17dd989418f745d8efc3 (patch) | |
| tree | ed2fb9171bd9283d3314364caa0d005b08f6f4e2 /rest_framework/relations.py | |
| parent | 24a688223240eb1e71db3c0f00cd621e80cb9fb2 (diff) | |
| parent | dea2766abac5ef55fa226f413711cfd49af2a745 (diff) | |
| download | django-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.py | 10 |
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: |
