在空ImageField上过滤Queryset

mel*_*bic 13 django

我有以下课程:

class Book(models.Model):
    picture = models.ImageField(upload_to='books/', blank=True, null=True)
    ...
Run Code Online (Sandbox Code Playgroud)

我现在想要在没有图片的情况下过滤书籍.我尝试了以下方法:

Book.objects.filter(picture__isnull=True)
Run Code Online (Sandbox Code Playgroud)

问题是,图片在db中是一个空的varchar(''),而不是null.该怎么办?

aru*_*lmr 24

试试这个:

Book.objects.filter(picture__exact='')
Run Code Online (Sandbox Code Playgroud)


aol*_*awa 10

只需运行排除方法:

Books.objects.exclude(picture='')
Run Code Online (Sandbox Code Playgroud)