Django查询找到somefilefield == None的模型实例?

时间:2011-04-15 05:08:17

标签: python django django-models

鉴于模型:

class Person(models.Model):
    name = models.CharField(max_length=200)
    resume = models.FileField(upload_to='resumes/', blank=True, null=True)

我通过以下方式创建了一些人:

Person.objects.create(name='Brad')
Person.objects.create(name='Tony')

如何使用ORM编写查询以向我提供没有resume的人。我尝试过以下内容,但都无法返回所需的结果:

>>> Person.objects.filter(resume=None)
[]
>>> Person.objects.filter(resume__exact=None)
[]
>>> Person.objects.filter(resume__isnull=True)
[]

2 个答案:

答案 0 :(得分:1)

我很确定您使用空字符串''

进行过滤
Person.objects.filter(resume='')

基础字段是docs for Filefield提及的CharField()

Django将CharFields的空白存储为空字符串而不是NULL,因此过滤空字符串会让你没有简历的人。

Model Field References regarding Null

答案 1 :(得分:0)

尝试

Person.objects.filter(resume__exact = None)

阅读此处的文件

http://docs.djangoproject.com/en/dev/ref/models/querysets/#id6