mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-07 13:54:47 +03:00
Fix detail_route and list_route serializer_class overrides in schemas
This commit is contained in:
parent
1e6e7ea0ec
commit
5f02a0b0da
|
@ -255,12 +255,22 @@ class SchemaGenerator(object):
|
|||
if method not in ('PUT', 'PATCH', 'POST'):
|
||||
return []
|
||||
|
||||
if not hasattr(view, 'get_serializer_class'):
|
||||
serializer_class = None
|
||||
|
||||
# looking for serializer_class override
|
||||
if hasattr(callback, 'actions'):
|
||||
func = getattr(view, callback.actions[method.lower()])
|
||||
if 'serializer_class' in getattr(func, 'kwargs', ()):
|
||||
serializer_class = func.kwargs['serializer_class']
|
||||
|
||||
if serializer_class is None and hasattr(view, 'get_serializer_class'):
|
||||
serializer_class = view.get_serializer_class()
|
||||
|
||||
if serializer_class is None:
|
||||
return []
|
||||
|
||||
fields = []
|
||||
|
||||
serializer_class = view.get_serializer_class()
|
||||
serializer = serializer_class()
|
||||
|
||||
if isinstance(serializer, serializers.ListSerializer):
|
||||
|
|
Loading…
Reference in New Issue
Block a user