![](/img/trans.png)
[英]How to properly use order_by with nulls_last on a related one_to_many field?
[英]Django order_by two fields, with first field nulls last
我想按兩個字段對查詢集進行排序,比如說時間戳和名稱。 我將有許多時間戳為空的記錄,但所有記錄都有一個名稱。 我希望所有具有時間戳的記錄排在第一位,按時間戳排序,然后是所有時間戳為空的記錄,但按名稱進行輔助排序。
示例排序結果:
Timestamp Name
--------- ----------
10:00 John
10:00 Kevin
10:00 Xavier
11:00 Arnold
12:00 Steve
(null) Abe
(null) Ben
(null) Catherine
(null) Zeke
我知道在按單個字段排序時可以將空值放在最后,如下所示:
Person.objects.order_by(F('timestamp').asc(nulls_last=True))
我只是不確定如何在那里獲取輔助排序字段(名稱)。
我想我找到了解決方案:
Person.objects.order_by(F('timestamp').asc(nulls_last=True), 'name')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.