我有一个带有可选文件字段的模型
class MyModel(models.Model):
name = models.CharField(max_length=50)
sound = models.FileField(upload_to='audio/', blank=True)
让我们放一个值
>>> test = MyModel(name='machin')
>>> test.save()
为什么我会这样做?
>>> test.sound
<FieldFile: None>
>>> test.sound is None
False
如何检查是否有文件集?
答案 0 :(得分:74)
if test.sound.name: print "I have a sound file"
else: print "no sound"
此外,FieldFile
的布尔值在没有文件时为False:bool(test.sound) == False
当test.sound.name
为假时。
答案 1 :(得分:0)
根据另一个问题answer,您可以尝试以下操作:
class MyModel(models.Model):
name = models.CharField(max_length=50)
sound = models.FileField(upload_to='audio/', blank=True)
def __nonzero__(self):
return bool(self.sound)