tôi ghi đè lên các phương pháp tiết kiệm như dưới đây, và get_thumbnails và tiết kiệm với sorl ..override tiết kiệm phương pháp - đối tượng 'ImageFile' không có thuộc tính '_committed'
Nhưng nhận được lỗi 'ImageFile' object has no attribute '_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)
Bất kỳ ý tưởng?
đã lưu hoặc giải quyết được sự cố của bạn? ;) P.S không gọi phương thức 'super' save hai lần. 'super' save sẽ trả về cho bạn một cá thể sử dụng cá thể đó để thiết lập các trường bổ sung: ' instance = super (HotelPhotos, self) .save (* args, ** kwargs) ' –
Tốt hơn nên sử dụng' .name', vì ' .url' cũng sẽ chứa MEDIA_URL, vì vậy cuối cùng (nếu MEDIA_URL của bạn không trống), bạn sẽ nhận được vào/media/media/cache/... –