Django:Queryset.union()和OR运算符有什么区别?

组合 QuerySets 时,QuerySet.union()方法和在 QuerySets 之间使用 OR 运算符有什么区别|

考虑以下 2 个查询集:

qs1 = Candidate.objects.filter(id=1)
qs2 = Candidate.objects.filter(id=2)

如何qs1 | qs2不同qs1.union(qs2)?我错过了引擎盖下的一些微妙之处吗?

回答

来自QuerySet API 参考

union()、intersection() 和 difference() 返回第一个 QuerySet 类型的模型实例,即使参数是其他模型的 QuerySet。

.union()方法返回查询集仅在第一个查询集参数的模式/列名通过。因为 OR(|) 运算符不是这种情况。


以上是Django:Queryset.union()和OR运算符有什么区别?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>