2016-05-22 15 views
0

テーブルから25行を取得する必要があります。 まず、すべての固定スレッドを取得する必要があります。それから私は定期的なスレッドを(25ピン固定)取得する必要があります。同じテーブルへの2つのクエリ

これらの行を1つのクエリで取得することは可能ですか? 今、私はこのような二つの別々のクエリを使用:未テスト

p = Thread.select().where(Thread.pinned).limit(25) 
t = Thread.select().where(Thread.pinned >> None).limit(25-len(p)) 
+0

どのような種類が固定されていますか?モデル定義の関連部分を表示できますか? –

答えて

1

を、しかし、あなたが行うことができます:フィールドの

case_stmt = case(None, (
    (Thread.pinned >> None, 0), 
), 1)) 
(Thread 
.select(Thread, case_stmt.alias('pinned_first')) 
.order_by(SQL('pinned_first').asc()) 
.limit(25)) 
関連する問題