2012-02-06 7 views
2

私は2つの別々のクエリーセットAとBを持っています。私は制約なしでBをAに追加したいと思います。Pythonで2つのクエリーセットを追加します。

はのは、今、私が本当に欲しい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) 

私はただのORDER_BYを与えることなく、任意の順序を乱すことなく、AにBを追加します。

ここでは、order_by制約を置くことができないため、順序が乱れることがあります。リストを使うのは、オブジェクト全体をメモリにロードするので50000〜60000個のオブジェクトがあり、リストを使うことができないので、リストを使いたくない。

私はあなたがitertools.chain(A, B)をしたいのpython

答えて

1

で唯一のクエリセットを使ってこれを実現する方法上の任意のアイデア。

+0

インターツールを試しましたが、インターツールではページネーションを使用できません。私のセットされた長さが何千もあるので、私はそれらにページネーションが必要です。 – Ninad

+1

私はこれらのメソッドを使用しようとしました: 1. intertools.chain 2.直接SQLクエリを記述します。 intertools.chainを使用して設定したいと思っていましたが、結果にページネーションを適用できないようです。 私は別の考え方を考えました:おそらく、チェーンとは何かをすることができますが、クエリーセットに似たインターフェイスを提示し、効率的です。これは書くのは簡単ではありませんが、少なくともそれを機能させるように努力することはできます。私は前に代替案を探すだろうし、もし私が何も見つけなければ、それはおそらく私がやっていることだろう。 – Ninad

関連する問題