python - Django / 模型图像字段要求默认图像
问题描述
我不想在 Django 中为我的模型添加默认图像。但是当我从模型中删除默认图像时,它说图像属性没有与之关联的文件。当用户不添加图像时,我应该如何解决它不会要求图像?
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})
解决方案
我猜您manage.py makemigrations
manage.py migrate
在测试 ImageField 之间缺少一步。如果之前指定了默认值,则 db 中可能存在仍然具有默认路径的条目,如果它不存在则无法解析。