Django-import-export: Настраиваемое хранилище не работает с minio
Следуя документации, я пытаюсь настроить библиотеку на сохранение временных файлов импорта со страницы администратора в ведро MinIO.
Вот моя конфигурация STORAGES:
IMPORT_EXPORT_TMP_STORAGE_CLASS = "import_export.tmp_storages.MediaStorage"
STORAGES = {
"default": {
"BACKEND": "django.core.files.storage.FileSystemStorage",
},
"staticfiles": {
"BACKEND": "django.contrib.staticfiles.storage.ManifestStaticFilesStorage",
},
"import_export": {
"BACKEND": "storages.backends.s3.S3Storage",
"OPTIONS": {
"bucket_name": os.getenv("PORTAL_S3_BUCKET_NAME"),
"region_name": os.getenv("PORTAL_S3_REGION_NAME"),
"access_key": os.getenv("PORTAL_S3_ACCESS_KEY"),
"secret_key": os.getenv("PORTAL_S3_SECRET_KEY"),
},
},
}
Полагаю, что когда я импортирую файл со страницы администратора и дохожу до шага подтверждения, я должен видеть файл, который я пытаюсь загрузить в ведро, но этого не происходит. Ничего не загружается.
Когда я не задаю ничего относительно хранилища и использую хранилище хост-сервера по умолчанию, я могу видеть файлы на хост-машине после шага подтверждения, поэтому я предполагаю, что я должен видеть файл в ведре, как только он настроен.
Я также пытался отладить библиотеку, но не смог увидеть никакой информации о подключении к bucket.
Проблема не имеет ничего общего с конфигурацией MinIO. Я пробовал извлекать и загружать файлы в ведро с помощью Postman с ключами, которые я использую в дикте STORAGES, и все работает как по маслу.
Я не знаю, что еще можно сделать, потому что конфигурация не сложная и не гибкая, поэтому у меня нет других вариантов, чтобы попробовать.
Версии библиотек, которые я использую, следующие:
boto3==1.34.131
Django==4.2.11
django-storages==1.14.3
django-import-export==4.0.8
Я думаю, что это ошибка в django-import-export. В документации Django говорится, что STORAGES
следует использовать для Django v4.2 и выше, однако django-import-export не проверяет это корректно. Я подниму этот вопрос как ошибку
Если вы не можете ждать исправления, не могли бы вы перейти на версию Django 5.0?
ОБНОВИТЬ
Это исправлено в v4.0.10