Excel文件作为Django Rest框架中的序列化程序响应

Excel文件作为Django Rest框架中的序列化程序响应,django,django-rest-framework,django-rest-viewsets,Django,Django Rest Framework,Django Rest Viewsets,我正在使用ModelViewSet类上载一个csv文件,对其进行一些处理,并将输出保存为本地目录中的excel文件。现在,我想将此excel文件发送回,作为对同一请求的响应。但是,我无法将excel文件作为响应正确发送回 序列化程序.py class InputSerializer(serializers.ModelSerializer): 类元: 型号=CsvUpload 字段=('datafile','created','owner','filename') 只读字段=('datafile'

我正在使用ModelViewSet类上载一个csv文件,对其进行一些处理,并将输出保存为本地目录中的excel文件。现在,我想将此excel文件发送回,作为对同一请求的响应。但是,我无法将excel文件作为响应正确发送回

序列化程序.py

class InputSerializer(serializers.ModelSerializer):
类元:
型号=CsvUpload
字段=('datafile','created','owner','filename')
只读字段=('datafile','created','owner','filename')
类OutputSerializer(serializers.Serializer):
excelfile=serializers.FileField()
views.py

。。。
从.Analyzer导入MainAnalyzer
从xlrd导入打开的\u工作簿
类文件视图(ModelViewSet):
序列化程序\u类=输出序列化程序
parser_classes=(MultiPartParser,FormParser,)
queryset=CsvUpload.objects.all()
def创建(self、request、*args、**kwargs):
file\u serializer=InputSerializer(data=self.request.data)
文件\u序列化程序。是否有效(raise\u exception=True)
文件_serializer.save()
#调用分析器函数
analyzer=MainAnalyzer(self.request.get('datafile'))
analyzed_xls=analyzer.analyze_files()#返回保存的excel文件的路径
#发回响应
rb=打开的工作簿(已分析的工作簿)
fileobj=DjangoFile(rb,name='report.xlsx')
output_serializer=OutputSerializer({'excelfile':fileobj})
返回响应(输出\序列化程序.data)
我在网上找到的大多数方法都使用HTTPResponse,但没有一种使用ModelViewSet响应。上面代码的响应是get is

{“excelfile”:null}

最终使用APIView而不是ModelViewSet。最终使用APIView而不是ModelViewSet。