mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-08 08:38:16 -06:00
16670 fix OpenAPI schema generation with nested serializers
This commit is contained in:
parent
597fc926c0
commit
5fa0a7f102
@ -126,6 +126,13 @@ class NetBoxAutoSchema(AutoSchema):
|
|||||||
|
|
||||||
return response_serializers
|
return response_serializers
|
||||||
|
|
||||||
|
def _get_serializer_name(self, serializer, direction, bypass_extensions=False) -> str:
|
||||||
|
name = super()._get_serializer_name(serializer, direction, bypass_extensions)
|
||||||
|
if hasattr(serializer, 'nested') and serializer.nested:
|
||||||
|
name = 'Brief' + name
|
||||||
|
|
||||||
|
return name
|
||||||
|
|
||||||
def get_serializer_ref_name(self, serializer):
|
def get_serializer_ref_name(self, serializer):
|
||||||
# from drf-yasg.utils
|
# from drf-yasg.utils
|
||||||
"""Get serializer's ref_name (or None for ModelSerializer if it is named 'NestedSerializer')
|
"""Get serializer's ref_name (or None for ModelSerializer if it is named 'NestedSerializer')
|
||||||
@ -137,8 +144,6 @@ class NetBoxAutoSchema(AutoSchema):
|
|||||||
serializer_name = type(serializer).__name__
|
serializer_name = type(serializer).__name__
|
||||||
if hasattr(serializer_meta, 'ref_name'):
|
if hasattr(serializer_meta, 'ref_name'):
|
||||||
ref_name = serializer_meta.ref_name
|
ref_name = serializer_meta.ref_name
|
||||||
elif serializer_name == 'NestedSerializer' and isinstance(serializer, serializers.ModelSerializer):
|
|
||||||
ref_name = None
|
|
||||||
else:
|
else:
|
||||||
ref_name = serializer_name
|
ref_name = serializer_name
|
||||||
if ref_name.endswith('Serializer'):
|
if ref_name.endswith('Serializer'):
|
||||||
|
Loading…
Reference in New Issue
Block a user