例如,我有 2 个查询集:
q1=MyModel.objects.filter(visible=True)
q2=MyModel.objects.filter(published=True)
而且我需要制作单个查询集或列表,其中包含来自 q1 和 q2 的所有对象。
我曾经这样做过:
q=list(chain(q1,q2))
#q= q1 | q2 #this gives me not all objects from q2 or q1,so i don't use bitwise or
但有人说,这list()
将对数据库产生额外的查询。这是真的吗?如果是,有人可以指定最优化的合并方式吗?