我正在运行Django 1.7,并且在尝试执行以下操作时我得到TypeError: unsupported operand type(s) for |: 'bool' and 'Q'
:
class PersonList(generic.ListView):
template_name = "persons/list.html"
model = Person
queryset = Person.objects.filter(Q(field1__isnull=True | Q(field2__isnull=True)))
答案 0 :(得分:5)
在示例代码中,括号不是使用models.Q
时的括号。
解决方案:
Person.objects.filter(Q(field1__isnull=True) | Q(field2__isnull=True))
请注意结束。