Django - 如何将QuerySet转换为Q对象?

时间:2010-07-09 19:45:19

标签: django django-queryset django-q

有没有办法在django中将QuerySet转换为Q对象?

我的具体动机:我想从另一个QuerySet(qs_B)中减去一个QuerySet(qs_A)。我能想到的唯一方法是使用exclude()和相当于qs_A的Q对象。

示例:

def my_function(qs_A, qs_B):
    # Here I need to transform qs_A to a Q object q_obj_A
    qs_new = qs.exclude(q_obj_A)
    return qs_new

1 个答案:

答案 0 :(得分:5)

您不需要Q对象。只需排除第二个查询集:

qs = qs_a.exclude(id__in=qs_B)