Ошибка 400 при загрузке фикстур на aws s3 для django

У меня есть проект django с aws s3, используемый для хранения изображений, которые есть на сайте.

На сайте пользователи могут загружать свои собственные изображения, и это прекрасно работает. Когда я добавляю экземпляр модели с jpg, файл загружается в aws и может быть просмотрен в панели администратора.

Проблема в том, что я также использовал фикстуры для загрузки предварительно определенных объектов с изображениями, но всякий раз, когда я взаимодействую с предварительно загруженными фикстурами в базе данных, я получаю ошибку 400.

Скриншот базы данных Первый объект с именем "Test" был добавлен вручную, а все остальные объекты ниже этого были добавлены из приспособления. Test открывается нормально, но все остальные объекты выдают ошибку 400.

Я попробовал изменить регион в aws bucket, но это не помогло.

Вот пример пары светильников

{
    "model": "transfer.Workout",
    "fields":{
        "title": "Lat Pull Downs",
        "notes": "dont move your back at all, pull towards chest, retract shoulder blades as you go down, let elbows go straight down",
        "sets": "5",
        "demonstration": "/demonstrations/back&bicep/back/latpulldowns.gif",
        "muscle": "back"
     }
},
{
    "model": "transfer.Workout",
    "fields":{
        "title": "Cable Rows",
        "notes": "keep shoulder neutral, pull towards abs, pull shoulder blades back, exhale as you pull weight in",
        "sets": "5",
        "demonstration": "/demonstrations/back&bicep/back/cablerows.gif",
        "muscle": "back"
     }
        
        
},

Вот фотография ведра aws

Настройки:

INSTALLED_APPS = [
   'transfer.apps.TransferConfig',
   'django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
   'storages'
]

# AWS S3 Settings

AWS_ACCESS_KEY_ID = (insert key id here)

AWS_SECRET_ACCESS_KEY = (insert access key here)

AWS_STORAGE_BUCKET_NAME = 'workout-s3-bucket'

AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com'

AWS_DEFAULT_ACL = 'public-read'

AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400'
}

AWS_LOCATION = 'static'

AWS_QUERYSTRING_AUTH = False

AWS_HEADERS = {
    'Access-Control-Allow-Origin': '*',
}

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3StaticStorage'

STATIC_ROOT = os.path.join(BASE_DIR, 'transfer', 'static', 'travser')
STATIC_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/static/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/media/'

Спасибо, извините, если я не дал достаточно информации.

Вернуться на верх