覆盖保存方法-'ImageFile'对象没有属性'_committed' [英] override save method - 'ImageFile' object has no attribute '_committed'

查看:81
本文介绍了覆盖保存方法-'ImageFile'对象没有属性'_committed'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我重写如下的save方法,并覆盖get_thumbnails并使用sorl保存。

I override the save method like below, and get_thumbnails and save with sorl..

但是得到错误'ImageFile'对象没有属性'_committed'

class HotelPhotos(models.Model):
    hotel = models.ForeignKey(Hotel, related_name='photos')
    code = models.CharField(max_length=255)
    original = models.ImageField(upload_to="media")
    medium = models.ImageField(upload_to="media", null=True, editable=False)
    thumbnail = models.ImageField(upload_to="media", null=True, editable=False)

    def save(self, *args, **kwargs):

        super(HotelPhotos, self).save(*args, **kwargs)
        self.medium = get_thumbnail(self.original,
                                    '100x100',
                                    crop='center',
                                    quality=99)

        self.thumbnail = get_thumbnail(self.original,
                                       '50x50',
                                       crop='center',
                                       quality=99)

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

有什么想法吗?

推荐答案

self.thumbnail = get_thumbnail(self.original,
                                   '50x50',
                                   crop='center',
                                   quality=99).url

解决了我的问题..

这篇关于覆盖保存方法-'ImageFile'对象没有属性'_committed'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆