Вы можете использовать django-хранилища , чтобы настроить бэкэнд загрузки для использования s3, тогда вы просто устанавливаете ImageField
class MyModel(models.Model):
...
image = models.ImageField(upload_to='my_image_folder')
Параметр upload_to
будет использовать существующую папку в вашей настройке s3 или создаст новую папку. Ваше изображение будет загружено, и при сериализации вашей модели вы получите URL для него.