mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-05 13:00:12 +03:00
Add CurrentUserDefault
case
This commit is contained in:
parent
4c3071b97f
commit
bfcbe258ab
|
@ -131,6 +131,9 @@ class SimpleMetadata(BaseMetadata):
|
|||
for attr in attrs:
|
||||
value = getattr(field, attr, None)
|
||||
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)
|
||||
|
||||
if getattr(field, 'child', None):
|
||||
|
|
|
@ -77,6 +77,7 @@ class TestMetadata:
|
|||
)
|
||||
)
|
||||
nested_field = NestedField()
|
||||
defaultuser_field = serializers.HiddenField(default=serializers.CurrentUserDefault())
|
||||
|
||||
class ExampleView(views.APIView):
|
||||
"""Example view."""
|
||||
|
@ -84,6 +85,9 @@ class TestMetadata:
|
|||
pass
|
||||
|
||||
def get_serializer(self):
|
||||
if self.request:
|
||||
return ExampleSerializer(context={'request': self.request})
|
||||
else:
|
||||
return ExampleSerializer()
|
||||
|
||||
view = ExampleView.as_view()
|
||||
|
@ -166,6 +170,13 @@ class TestMetadata:
|
|||
'label': 'B'
|
||||
}
|
||||
}
|
||||
},
|
||||
'defaultuser_field': {
|
||||
'type': 'field',
|
||||
'required': False,
|
||||
'read_only': False,
|
||||
'label': 'Defaultuser field',
|
||||
'default': 'AnonymousUser'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user