我需要通過兩個不同的因素排序Django管理更改列表視圖的查詢集:order_time和status。Django自定義查詢集按兩個字段排序
當對排序結果的查詢集進行排序時,應該通過減少order_time對列表底部的所有項目(item.status == 3
)進行排序。本質上,我試圖將所有完成的訂單推送到列表的底部,而不管他們的order_time
。
這是模型的樣子:
def Order(models.Model);
order_time = models.DateTimeField(null=True)
status = models.PositiveSmallIntegerField(choices=ORDER_STATUS, default=ORDER_RECEIVED)
我已經與查詢集與itertools.chain但因爲我這樣做了Django的改變列表視圖結合好惹的,我特別需要返回查詢集。
我可以爲此使用經理嗎?或者是他們執行自定義SQL的方式,相應地預先定製qs?
這裏的順序查詢集應該是什麼樣子的例子:
ORDER ORDER_TIME STATUS 3 12/3 2 8 12/5 2 1 12/6 1 7 12/2 3 10 11/12 3
謝謝,但我不知道這會幫助我。正如我理解訂購選項,這將導致我的訂單首先按狀態排序,然後按訂單時間排序。我需要的是按order_time對訂單進行排序,並且只將這些訂單附加到列表的底部,該訂單的'order_status'爲'completed' –