Django /模型图像字段要求提供默认图像

时间:2020-04-23 19:15:04

标签: python django

我不想为Django中的模型添加默认图像。但是,当我从模型中删除默认图像时,它说image属性没有与之关联的文件。如果用户不添加图像,我该如何解决它不会要求图像的问题?

class MainPost(models.Model):
    title = models.CharField(max_length = 50,verbose_name= ('Başlık'))
    content = models.TextField(verbose_name= ('Yazı'))
    date_posted = models.DateTimeField(default=timezone.now)
    image = models.ImageField(default='profile_pics/default.jpg',upload_to = 'images',blank=True,null=True,verbose_name = ('Resim'))
    author = models.ForeignKey(User,on_delete=models.CASCADE)

    def __str__(self):
        return self.title

    def save(self,*args, **kwargs):
        super(MainPost,self).save(*args,**kwargs)

        img = Image.open(self.image.path)

        if img.height > 500 or img.width > 500:
            output_size = (500,500)
            img.thumbnail(output_size)
            img.save(self.image.path)

    def get_absolute_url(self):
        return reverse('comment', kwargs={'pk':self.pk})

1 个答案:

答案 0 :(得分:0)

我猜您在manage.py makemigrations manage.py migrate之间缺少了一步,但是您正在测试ImageField。如果以前指定了默认值,则数据库中可能有一些条目仍具有默认路径,并且如果该默认路径不存在,则无法解析。