Add CurrentUserDefault case

This commit is contained in:
Johan Charpentier 2015-12-24 15:23:31 +01:00
parent 4c3071b97f
commit bfcbe258ab
2 changed files with 15 additions and 1 deletions

View File

@ -131,6 +131,9 @@ class SimpleMetadata(BaseMetadata):
for attr in attrs: for attr in attrs:
value = getattr(field, attr, None) value = getattr(field, attr, None)
if value is not None and value != '' and value != empty: if value is not None and value != '' and value != empty:
if hasattr(value, '__call__'):
value.set_context(field)
value = value()
field_info[attr] = force_text(value, strings_only=True) field_info[attr] = force_text(value, strings_only=True)
if getattr(field, 'child', None): if getattr(field, 'child', None):

View File

@ -77,6 +77,7 @@ class TestMetadata:
) )
) )
nested_field = NestedField() nested_field = NestedField()
defaultuser_field = serializers.HiddenField(default=serializers.CurrentUserDefault())
class ExampleView(views.APIView): class ExampleView(views.APIView):
"""Example view.""" """Example view."""
@ -84,7 +85,10 @@ class TestMetadata:
pass pass
def get_serializer(self): def get_serializer(self):
return ExampleSerializer() if self.request:
return ExampleSerializer(context={'request': self.request})
else:
return ExampleSerializer()
view = ExampleView.as_view() view = ExampleView.as_view()
response = view(request=request) response = view(request=request)
@ -166,6 +170,13 @@ class TestMetadata:
'label': 'B' 'label': 'B'
} }
} }
},
'defaultuser_field': {
'type': 'field',
'required': False,
'read_only': False,
'label': 'Defaultuser field',
'default': 'AnonymousUser'
} }
} }
} }