如何测试Django FileField是否为空?

时间:2010-10-24 11:44:16

标签: django

测试Django FileField是否为空,即没有上传文件的正确方法是什么?

当字段为空时看起来name属性为u'',但我不知道这是否可靠。

2 个答案:

答案 0 :(得分:2)

我遇到了类似的问题并找到了可能的解决方案(肯定不是最好的)。 我目前正在检查文件字段中清理的数据是否是TemporaryUploadedFile类的实例(django.core.files.uploadedfile.TemporaryUploadedFile):

**你的代码在这里**

来自django.core.files.uploadedfile导入TemporaryUploadedFile

**你的代码在这里**

if isinstance(form_instance.cleaned_data ['my_file'],TemporaryUploadedFile):     #do stuff

我希望这会有所帮助。

干杯! 大卫

答案 1 :(得分:-2)

这是来自python idioms的一个,总是以最简单的方式测试它:

if some_object.file:
    # File exists!
    # This of course does not guarantees that file exists on disk, or that it is 
    # readable.
else:
    # No file.