首頁 >資料庫 >mysql教程 >如何使用 PostgreSQL 對 Django 查詢中的 NULL 值進行最後排序?

如何使用 PostgreSQL 對 Django 查詢中的 NULL 值進行最後排序?

Susan Sarandon
Susan Sarandon原創
2024-12-29 14:19:18405瀏覽

How to Sort NULL Values Last in Django Queries with PostgreSQL?

如何將「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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn