在向数据库添加新行时,在管理页面上传文件

时间:2014-06-25 15:46:43

标签: django django-admin

我正在为我的公司制作一个流媒体应用程序,我有一个带有视频标题,描述,出版日期等的模型。我想让负责添加视频的人上传1080p视频版本,然后使用ffmpeg将其转换为720p,480p和其他格式。然后,将这些文件移动到文件系统。

您将如何在管理页面上执行此操作?

1 个答案:

答案 0 :(得分:0)

这取决于您是否要直接从模型访问1080p,720p和480p版本。例如,如果模型具有字段:

video_1080 = VideoFile()
video_720  = VideoFile()
video_480  = VideoFile()

然后你可以覆盖MyModel的保存功能,即所讨论的模型:

def save(self):
    if self.video_1080:
        # Something like this. I don't know the syntax.
        self.video_720 = ffmpeg.convert(self.video_1080, 720)
        self.video_480 = ffmpeg.convert(self.video_1080, 480)

    super(MyModel, self).save(*args, **kwargs)