django - manytomany上的查询过滤器为空

时间:2010-11-15 12:58:42

标签: 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=True)

2 个答案:

答案 0 :(得分:112)

print TestModel.objects.filter(manytomany=None)

答案 1 :(得分:1)

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

from django.db.models import Q

filters = Q(manytomany=None)

TestModel.objects.filter(filters)

否定:

filters = ~Q(manytomany=None)

TestModel.objects.filter(filters)