2012-02-06 21 views
2

我有兩個單獨的查詢集A和B,我想將B附加到A而沒有任何約束。在Python中附加2個查詢集而不會丟失它們的順序

我們採取兩個查詢集A和B.

A = (1, 5, 7, 15, 20) 
B = (4, 6, 10,14, 19, 21) 

現在我真正想要的:

Final_queryset = (1, 5, 7, 15, 20 ,4, 6, 10,14, 19, 21) 

我只是想追加B到A而不給予任何ORDER_BY並不會干擾任何順序。

在這裏,我不能放任何order_by約束,因爲它會擾亂順序。我不想使用列表,因爲列表是因爲它將整個對象加載到內存中,並且我有50000到60000個對象,所以我不能使用列表。

我如何能實現在Python

回答

1

這僅使用查詢集你想itertools.chain(A, B)任何想法。

+0

我試過intertools,但用intertools我無法使用分頁。由於我的設置長度是數千,所以我需要對它們進行分頁。 – Ninad 2012-02-06 09:42:20

+1

我試圖使用這些方法: 1. intertools.chain 2.直接編寫SQL查詢。 我正在使用intertools.chain越來越期望設置,但它似乎我無法對結果應用分頁。 我想到了另一種選擇:我可以寫一些能夠做鏈的功能,但提供了一個類似於queryset的接口並且效率很高。這不是微不足道的寫,但我至少可以嘗試使其工作。我會在之前尋找替代品,如果我找不到,那很可能是我會做的。 – Ninad 2012-02-06 10:21:25

相關問題