如何將「NULLS LAST」加入Django 查詢
在PostgreSQL 中對資料進行排序時,通常的做法是使用「NULLS LAST”選項可確保空值在結果末端排序。 Django 的查詢 API 不直接支援此選項。
解
nulls_last=True 參數可以與 Expression.desc() 一起使用來控制 null 的排序價值觀。以下是範例:
from django.db.models import F MyModel.objects.all().order_by(F('price').desc(nulls_last=True))
此語法自 Django 1.11 起可用。
其他資訊
文件建議使用Expression.asc( ) 或具有適當nulls_last 參數的Expression.desc() ,而不是帶有傳統order_by 的extra( )
對於Django 3.1及以上版本,請參考官方文件以了解更多資訊:
https://docs.djangoproject.com/en/3.1/ref/models/expressions/#使用-f-對空值進行排序
以上是如何使用 PostgreSQL 對 Django 查詢中的 NULL 值進行最後排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!