В settings.py у меня есть:
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'xxxxxxxxxxxxx'
AWS_SECRET_ACCESS_KEY = 'xxxxxxxxxxxxx'
AWS_STORAGE_BUCKET_NAME = 'static.mysite.com'
Это указывает на мой ведро S3 static.mysite.com и отлично работает, когда я делаю manage.py collectstatic, он загружает все статические файлы в мое ведро. Однако у меня есть другое ведро, которое я использую для разных целей и хотел бы использовать в определенных областях веб-сайта, например, если у меня есть такая модель:
class Image(models.Model):
myobject = models.ImageField(upload_to='my/folder')
Теперь, когда вызывается Image.save(), он все равно загружает файл в ведро S3 в AWS_STORAGE_BUCKET_NAME, однако я хочу, чтобы этот Image.save() указывал на другой ведро S3. Любой чистый способ сделать это? Я не хочу изменять settings.py во время выполнения и не применять какие-либо действия, которые нарушают ключевые принципы django, т.е. Иметь подключаемое легко изменяемое бэкэнд-хранилище.