问题描述
我正在测试一个名为 model
的 Category
,如下所示:
class Category(models.Model):
image = models.ImageField(upload_to='images',null=True,blank=True)
title = models.CharField(max_length=200,unique=True,blank=False,null=False)
如您所见,image
字段可为空,但是当我尝试在 Category
中创建 TestCase
实例时,出现以下错误:
raise ValueError("The '%s' attribute has no file associated with it." % self.field.name)
ValueError: The 'image' attribute has no file associated with it.
测试如下:
def setUp(self):
self.category = Category.objects.create(title='test_category')
我已经尝试过这样创建它:
Category.objects.create(title='test_category',image=Null)
但是没有用。
解决方法
你可以这样做,这应该可以
class Category(models.Model):
image = models.ImageField(upload_to='images/',null=True,blank=True)
title = models.CharField(max_length=200,unique=True,blank=False,null=False)
def setUp(self):
self.category = Category(title='test_category')
self.category.save()
,
事实证明这是一个模板错误,因为我没有处理类别没有图像的可能性,当我在 CategoryListView
上运行测试时,它返回了一个错误,因为测试类别没有图片。