models.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:asset-manager 作者: emfoundation 项目源码 文件源码
def save(self, *args, **kwargs):

        # if first save
        if not self.id:
            self.update_filetype()

        # if a new file is uploaded, will update filename even if parent has also changed...
        elif self.tracker.has_changed('file'):
            old_s3_key = settings.MEDIAFILES_LOCATION + '/' + self.tracker.previous('file').name
            s3_utils.delete_s3_object(old_s3_key)
            # update filetype
            self.update_filetype()

        # but if file has not changed and parent has, must be handled manually
        elif self.tracker.has_changed('parent_id'):
            old_file_name = self.file.name
            self.file.name = str(self.parent.id) + '/' + self.get_filename()
            logging.info('Filename changed from {0} to {1}'.format(old_file_name, self.file.name))

            media_dir = settings.MEDIAFILES_LOCATION

            s3_utils.update_s3_key(media_dir + '/' + old_file_name, media_dir + '/' + self.file.name)

        super(Asset, self).save(*args, **kwargs)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号