Django ImageField如何设置height_field为外键属性



我的模型:

class UploadedOrderImage(models.Model):
    order_image = models.OneToOneField(OrderImage)
    image_large = models.ImageField(upload_to=get_file_path_random, height_field='order_image.image_large_height', width_field='order_image.image_large_width')
    image_thumb = models.ImageField(upload_to=get_file_path_thumb, height_field='order_image.image_thumb_height', width_field='order_image.image_thumb_width')

其中order_image包含image_large_width, image_large_height, image_thumb_heightimage_thumg_width字段。当我尝试上传图像时,我得到错误:

'UploadedOrderImage' has no attribute order_image.image_large_width

我如何告诉django引用a外键相关的字段?

我不确定这里是否使用Foreingkey属性。

但是这个呢?

class UploadedOrderImage(models.Model):
    order_image = models.OneToOneField(OrderImage)
    image_large = models.ImageField(upload_to=get_file_path_random)
    image_thumb = models.ImageField(upload_to=get_file_path_thumb)
    def save(self):             
       super(UploadedOrderImage, self).save()
       if self.image_large:
           image = Image.open(self.image_large)  
           size = (self.order_image.image_large_height,self.order_image.image_large_height)
           image = image.resize(size, Image.ANTIALIAS)
           image.save(self.image_large.path)
       if self.image_thumb:
           image = Image.open(self.image_thumb)  
           size = (self.order_image.image_thumb_height,self.order_image.image_thumb_height)
           image = image.resize(size, Image.ANTIALIAS)
           image.save(self.image_thumb.path)

相关内容

最新更新