【发布时间】:2012-04-21 11:46:36
【问题描述】:
将两个查询集链接在一起的最佳方式是什么?我试过使用 itertools.chain() 和按位或。
chain() 的问题是它不能很好地适应分页。因为chain()返回一个列表,当与Django的分页一起使用时,我得到“异常值:'list'对象没有属性'_clone'”。
按位 OR 可以,但它似乎没有保留顺序。这两个查询集似乎只是组合在一起。我需要将第一个查询集的项目放在第二个查询集的项目之前。
【问题讨论】:
-
chain不返回list,而是返回chain。itertools函数/类都没有返回序列,它们都返回可迭代对象。