TypeError: unsupported operand type(s) for |: 'bool' and 'Q'
TypeError: unsupported operand type(s) for |: 'bool' and '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)))
在示例代码中,使用 models.Q
时括号不在应有的位置。
解决方案:
Person.objects.filter(Q(field1__isnull=True) | Q(field2__isnull=True))
注意右括号。
我是 运行 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)))
在示例代码中,使用 models.Q
时括号不在应有的位置。
解决方案:
Person.objects.filter(Q(field1__isnull=True) | Q(field2__isnull=True))
注意右括号。