Как загрузить несколько файлов и использовать charfields одновременно в django rest framework?
Я довольно новичок в этой области, поэтому я постараюсь объяснить это наилучшим образом.
Я пытаюсь загрузить два разных необязательных файла (это означает, что загружать их не обязательно), а также иметь два необязательных поля CharFields в качестве входных данных в одном и том же методе API.
Я могу лучше объяснить это, показав, как выглядит мой views.py, мой serializers.py и как я хотел бы иметь возможность ввести его в postman.
С помощью этого я могу загрузить файл, но после этого у меня возникает ошибка return None as HttpResponse
, потому что код не может быть продолжен.
views.py
class FileUploadView(APIView):
parser_classes = (FileUploadParser,)
@swagger_auto_schema(request_body=FileSerializer,
responses={
HTTP_200_OK: PostSuccessResponseSerializer,
HTTP_400_BAD_REQUEST: PostErrorResponseSerializer
}
)
def post(self, request):
# Upload two different OPTIONAL files
file_1 = request.data.get('file_1', None)
file_2 = request.data.get('file_2', None)
# CharField optional inputs
user_input = request.data.get('user_input') or ''
foo_char = request.data.get('model_filename') or ''
# Do something with the files
...
# do something with the CharFields inputs
...
return Response(f'Success!', status=HTTP_200_OK)
serializer.py
class FileSerializer(serializers.Serializer):
file = serializers.FileField(allow_empty_file=False, use_url=False)
user_input = serializers.CharField()
foo_char = serializers.CharField()