Django массовая загрузка файлов внутри zip
Мы хотим массово загружать файлы, которые находятся внутри zip, раньше мы загружали файл за файлом. Но проблема этой логики в том, что если zip-файл имеет большой размер. Это занимает так много времени для загрузки. Поэтому мне нужно какое-то решение, чтобы решить эту проблему.
Старая логика:
archive = ZipFile(zipfile, 'r')
for filename in archive.namelist():
name = filename.split('/')
if name[-1] != '' and '__MACOSX' not in name:
f = archive.open(filename)
library = BulkUpload()
library.organisation = organisation_id
library.course = course_obj
library.file_path.save(filename, ContentFile(f.read()))
Я попробовал новую логику с bulk create, но там запись создается в DB, но файл не загружается в blob. Когда я проверяю БД, файл размещается там только по имени.
archive = ZipFile(zipfile, 'r')
for filename in archive.namelist():
name = filename.split('/')
if name[-1] != '' and '__MACOSX' not in name:
request_obj.append(BulkUpload(
organisation=data['organisation']['id'],
course=course_obj,
file_path=filename
))
BulkUpload.objects.bulk_create(request_obj)