TypeError:不支持的操作数类型|:'bool'和'Q'[关闭]
Posted
技术标签:
【中文标题】TypeError:不支持的操作数类型|:\'bool\'和\'Q\'[关闭]【英文标题】:TypeError: unsupported operand type(s) for |: 'bool' and 'Q' [closed]TypeError:不支持的操作数类型|:'bool'和'Q'[关闭] 【发布时间】:2015-03-27 21:25:48 【问题描述】:我正在运行 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)))
【问题讨论】:
【参考方案1】:在示例代码中,括号不在使用 models.Q
时应该在的位置。
解决方案:
Person.objects.filter(Q(field1__isnull=True) | Q(field2__isnull=True))
注意右括号。
【讨论】:
以上是关于TypeError:不支持的操作数类型|:'bool'和'Q'[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:不支持的操作数类型/:'str'和'str'
TypeError: *: 'int' 和 'NoneType' 不支持的操作数类型
TypeError:&:'str'和'str'不支持的操作数类型
TypeError: 不支持的操作数类型 -: 'int' 和 'list'