django-多主机上的查询筛选器为空

django-多主机上的查询筛选器为空,django,django-queryset,Django,Django Queryset,在Django中,有一种方法可以过滤空或空的多个字段 class TestModel(models.Model): name = models.CharField(_('set name'), max_length=200) manytomany = models.ManyToManyField('AnotherModel', blank=True, null=True) print TestModel.objects.filter(manytomany__is_null=Tr

在Django中,有一种方法可以过滤空或空的多个字段

class TestModel(models.Model):
    name = models.CharField(_('set name'), max_length=200)
    manytomany = models.ManyToManyField('AnotherModel', blank=True, null=True)

print TestModel.objects.filter(manytomany__is_null=True)

除了@Bernhard answer之外,还可以使用
Q()
对象实现其他可能的解决方案

from django.db.models import Q

filters = Q(manytomany=None)

TestModel.objects.filter(filters)
否定:

filters = ~Q(manytomany=None)

TestModel.objects.filter(filters)

与之相反的是,
TestModel.objects.exclude(manytomy=None)
有没有办法在“AnotherModel”中查询不相关/未连接的对象?尝试清理多对多模型。使用
AnotherModel.objects.filter(testmodel\u set=None)
对我很有效。如果你用的是a,你当然应该用它来代替。
filters = ~Q(manytomany=None)

TestModel.objects.filter(filters)