Создание фальшивой модели в djanago rest framework без переноса ее для использования в swagger
Я пытаюсь реализовать swagger ui в Django Rest Framework с помощью drf-spectacular. У меня еще нет никакой базы данных, и на этом этапе я не хочу реализовывать или создавать какую-либо базу данных или таблицу. Я только хочу создать API-контракт с различными конечными точками и показать требуемые и ответные типы данных в swagger ui.
Мой вопрос заключается в том, как я могу создать модель (фальшивую модель) без ее реализации и миграции?
Вы можете создать сериализатор и реализовать в нем все необходимые поля. Если вам нужны разные сериализаторы для запроса и ответа, просто передайте их в декораторе swagger_auto_schema. Используйте параметр request_body для запроса и responses для ответа. Вот пример:
class MyRequestSerializer(serializers.Serializer):
first_name = serializers.Charfield(max_length=128)
last_name = serializers.Charfield(max_length=128, allow_blank=True)
class MyResponseSerializer(serializer.Serializer):
my_custom_response_field = serializers.IntegerField()
class MyAPIView(APIView):
@swagger_auto_schema(request_body=MyRequestSerializer(), responses={200: MyResponseSerializer()})
def get(self, request, format=None):
request_data = MyRequestSerializer(request.data)
do_smth
response_serializer = MyResponseSerializer(request_data)
return Response(response_serializer.data)