Django : Объект файла не является сериализуемым Json
Я хочу отправить файл в ответ на мой запрос, но получаю ошибку file object is not json serializable , так как же мне отправить файл в ответ на мой запрос :
@api_view(['GET', 'POST'])
def Upload_list(request):
if request.method == 'GET':
queryset = Uploads.objects.all()
uploads=queryset.filter(owner=request.user)
serializer = UploadSerializer(uploads, many=True)
return Response(serializer.data)
elif request.method == 'POST':
serializer = UploadSerializer(data=request.data)
if serializer.is_valid():
serializer.save(owner=request.user)
respFile=list(File.objects.filter(id=str(File.objects.latest('created_at'))))
return Response(respFile)
#return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Вы не можете присоединить файл в сериализаторе для ответа. Вместо этого вы можете сделать одно из следующих действий.
Вы можете прикрепить файл к заголовку 'Content-Disposition' запроса
.response['Content-Disposition'] = 'attachment; filename="file.extension"'
Отправьте ссылку файла в вашем ключе в сериализаторе. Поведение сериализатора по умолчанию.
{'file':'http://absolute_url_to_my_file'}
.