首页 > 解决方案 > OperationalError 仅允许作为表达式一部分的 SELECT 的单个结果

问题描述

我需要在两个不同的过滤器之后组合我的模型对象。我需要在另一个模型过滤器中使用它。

user_set_1 =  MyModel.objects.filter(field1__user_account__group1__product=product)
user_set_2 = MyModel.objects.filter(field1__user_account__group2__product=product)
users = user_set_1.union(user_set_2)
qs = NewModel.objects.filter(user_account__in=users)

当我执行此操作时出现错误

OperationalError 仅允许作为表达式一部分的 SELECT 的单个结果

标签: python-2.7django-modelsdjango-querysetdjango-1.11

解决方案


您可以将多个查询集与Union结合起来

qs1.union(qs2)

推荐阅读