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)
Вернуться на верх