Я использую Django 2.0
Мне нужно загрузить данные из нескольких моделей в формате csv в виде zip-файла.
Я использую плагин django-import-export
для генерации csv
файл для данных модели
Что я делаю, это
def download_all_data(request):
# user data
user_resource = UserResource()
queryset = User.objects.filter(username=request.user)
data_set = user_resource.export(queryset)
# favourite arbitrase
favourite_arbitrase_resource = FavouriteArbitraseResource()
favourite_arbitrase_queryset = FavouriteArbitrase.objects.filter(user=request.user)
data_set_favourite_arbitrase = favourite_arbitrase_resource.export(favourite_arbitrase_queryset)
response_user_data = HttpResponse(data_set.csv, content_type='text/csv')
response_user_data['Content-Disposition'] = 'attachment; filename="user_data.csv"'
response_favourite_arbitrase = HttpResponse(data_set_favourite_arbitrase.csv, content_type='text/csv')
response_favourite_arbitrase['Content-Disposition'] = 'attachment; filename="favourite_arbitrase_data.csv"'
zipped_file = io.BytesIO()
with zipfile.ZipFile(zipped_file, 'w') as zip_file:
zip_file.writestr('text/csv', response_user_data)
zip_file.writestr('text/csv', response_favourite_arbitrase)
zip_response = HttpResponse(zipped_file, content_type='application/octet-stream')
zip_response['Content-Disposition'] = 'attachment; filename=my_file.zip'
return zip_response
Это дает ошибку
object of type 'HttpResponse' has no len()