TypeError:|:'bool'和'Q'不支持的操作数类型

Sae*_*aeX -2 django django-q

我正在运行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)))
Run Code Online (Sandbox Code Playgroud)

Sae*_*aeX 5

在示例代码中,使用括号时,括号不是应该放在的位置models.Q

解:

Person.objects.filter(Q(field1__isnull=True) | Q(field2__isnull=True))
Run Code Online (Sandbox Code Playgroud)

注意右括号。