diff --git a/rest_framework/metadata.py b/rest_framework/metadata.py index 410acd0e2..fa9b0e0c6 100644 --- a/rest_framework/metadata.py +++ b/rest_framework/metadata.py @@ -124,12 +124,13 @@ class SimpleMetadata(BaseMetadata): attrs = [ 'read_only', 'label', 'help_text', 'min_length', 'max_length', - 'min_value', 'max_value' + 'min_value', 'max_value', + 'initial' ] for attr in attrs: value = getattr(field, attr, None) - if value is not None and value != '': + if value is not None and value != '' and value != []: field_info[attr] = force_text(value, strings_only=True) if getattr(field, 'child', None): diff --git a/tests/test_metadata.py b/tests/test_metadata.py index a9d2dc0c9..0c92613ee 100644 --- a/tests/test_metadata.py +++ b/tests/test_metadata.py @@ -77,7 +77,8 @@ class TestMetadata: min_value=1, max_value=1000 ) char_field = serializers.CharField( - required=False, min_length=3, max_length=40 + required=False, min_length=3, max_length=40, + initial='initial value' ) list_field = serializers.ListField( child=serializers.ListField( @@ -136,7 +137,8 @@ class TestMetadata: 'read_only': False, 'label': 'Char field', 'min_length': 3, - 'max_length': 40 + 'max_length': 40, + 'initial': 'initial value' }, 'list_field': { 'type': 'list',