我有一个现有的数据库表,其ImageField
已经有一堆现有的注册表。我想在我的模型上添加image_width
和image_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_width
和image_height
在save()
时自动生成,但现有图片已保存。
答案 0 :(得分:0)
显然,我找到了解决方案!这是一个奇怪的,但它的工作原理。我将image_width
和image_height
都设置为默认为0
,并在dev上执行标准迁移。
当然,您可以假设所有现有图像都设置为0
高度和宽度,但是当我尝试访问这些属性时,例如,在详细视图中,我可以访问正确的高度和原始图像的宽度值(在我进行迁移之前保存的现有图像)。
如果有人能够解释这一点,我将不胜感激。