有没有办法在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
答案 0 :(得分:5)
您不需要Q对象。只需排除第二个查询集:
qs = qs_a.exclude(id__in=qs_B)