ImageField image_width和image_height自动填充现有数据库?

时间:2017-11-01 21:57:09

标签: django python-3.x django-models

我有一个现有的数据库表,其ImageField已经有一堆现有的注册表。我想在我的模型上添加image_widthimage_height,但我需要一些东西来自动填充现有的表格。

class ItemImage(models.Model):
    file = models.ImageField(upload_to=image_directory_path, width_field='image_width', height_field='image_height')
    image_width = models.IntegerField()
    image_height = models.IntegerField()

我在文档上看到image_widthimage_heightsave()时自动生成,但现有图片已保存。

1 个答案:

答案 0 :(得分:0)

显然,我找到了解决方案!这是一个奇怪的,但它的工作原理。我将image_widthimage_height都设置为默认为0,并在dev上执行标准迁移。

当然,您可以假设所有现有图像都设置为0高度和宽度,但是当我尝试访问这些属性时,例如,在详细视图中,我可以访问正确的高度和原始图像的宽度值(在我进行迁移之前保存的现有图像)。

如果有人能够解释这一点,我将不胜感激。