如果有两个查询集q1
和q2
,那么检查q1
是否是q2
的子集的最佳方法是什么?还是我必须迭代它们的值?
q1_id = q1.values_list('id', flat=True)
q2_id = q2.values_list('id', flat=True)
all([x in q2 for x in q1])
答案 0 :(得分:1)
您可以使用set
进行检查:
q1_id = set(q1.values_list('id', flat=True)
q2_id = set(q2.values_list('id', flat=True)
issubset = q1_id.issubset(q2_id)