在保存模型对象的同时,在同一模型的另一个字段中复制ImageField

时间:2016-08-29 08:18:42

标签: django-models copy duplicates imagefield

我想上传一张图片(位于下面提到的型号的photo字段中的位置),我想以编程方式将该照片复制到另一个字段thumbnail

我尝试了下面class Picture(models.Model):中提到的方式。通过ResizedImageField工作,我只测试了photo字段。需要帮助才能覆盖下面提到的def save(self, *args, **kwargs):方法。

from django_resized import ResizedImageField

class Picture(models.Model):
    photo = ResizedImageField('photo', upload_to='photos/%Y/%m/%d', size=[636,331])
    thumbnail = ResizedImageField('thumbnail', upload_to='thumbnail/%Y/%m/%d', size=[150, 100], blank=True, null=True)

    def save(self, *args, **kwargs):
        super(Picture, self).save(*args, **kwargs)
        if self.photo:
            self.thumbnail = ResizedImageField(self.photo)
            self.thumbnail.save()

1 个答案:

答案 0 :(得分:0)

我认为问题在于您在self.thumbnail.save()上调用的保存方法,请尝试以下方法:

def save(self, *args, **kwargs):
    if self.photo:
        self.thumbnail = ResizedImageField(self.photo)
    super(Picture, self).save(*args, **kwargs)

您可能会发现此post有用