执行以下查询的正确方法是什么?
sites = Site.objects.all().exclude(itempage__isnull=True or itempage__pk=1)
答案 0 :(得分:2)
我建议使用Django的Q Objects来构建更复杂的查询。
from django.db.models import Q
Site.objects.exclude(Q(itempage__isnull=True) | Q(itempage__pk=q))
Q对象也支持~
运算符的求反,如下所示:
from django.db.models import Q
Site.objects.filter(~Q(Q(itempage__isnull=True) | Q(itempage__pk=q)))
答案 1 :(得分:0)
只是想以另一种方式实现这一目标。只需使用exclude()
链接条件即可。
sites = Site.objects.all().exclude(itempage__isnull=True).exclude(itempage__pk=1)