Как сохранить файл, существующий в s3, в django filefield

У меня есть видео модель с двумя файловыми полями (носитель хранится в Amazon S3):

class Video(models.Model):
    original = FileField(storage=S3BotoStorage())
    small = FileField(storage=S3BotoStorage(), null=True)

Я загружаю только оригинальное видео, затем после загрузки я создаю конвертируемое задание в amazonastic transcode (и я указал путь к файлу для конвертируемого файла).

@receiver(post_save, sender=Video)
def handle_new_video(sender, instance, created, **kwargs):
    if created:
        send_transcode_job_request(instance.id, 'converted/file.mp4')

Когда работа завершена, я хочу сохранить только путь к файлу в файл small FileField.

@receiver(job_completed, sender=Video)
def handle_converting_completed(video_id, filepath, **kwargs):
    video = Video.objects.get(id=video_id)
    video.small.file.name = filepath

Как это сделать без повторной загрузки видео?

0 ответов

Другие вопросы по тегам