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

时间:2019-01-23 03:19:21

标签: python-2.7 django-models django-queryset django-1.11

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

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仅允许单个结果用于表达式的一部分

2 个答案:

答案 0 :(得分:0)

您可以将多个查询集与Union

组合
qs1.union(qs2)

答案 1 :(得分:0)

您可以使用

在django中组合多个查询集
from itertools import chain
result_list = list(chain(qs1, qs2))