當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Django Options.ordering用法及代碼示例


本文介紹 django.db.models.Options.ordering 的用法。

聲明

Options.ordering

對象的默認排序,用於獲取對象列表時使用:

ordering = ['-order_date']

這是字符串和/或查詢表達式的元組或列表。每個字符串都是一個字段名稱,帶有可選的“-”前綴,表示降序。沒有前導 “-” 的字段將按升序排列。使用字符串“?” 隨機排序。

例如,要按 pub_date 字段升序排序,請使用以下命令:

ordering = ['pub_date']

要按 pub_date 降序排序,請使用以下命令:

ordering = ['-pub_date']

要按 pub_date 降序排序,然後按 author 升序排序,請使用以下命令:

ordering = ['-pub_date', 'author']

您還可以使用查詢表達式。要按 author 升序排序並使空值排在最後,請使用以下命令:

from django.db.models import F

ordering = [F('author').asc(nulls_last=True)]

警告

排序不是免費的操作。您添加到排序中的每個字段都會對您的數據庫產生成本。您添加的每個外鍵也將隱式包含其所有默認排序。

如果查詢未指定排序,則以未指定的順序從數據庫返回結果。僅當按一組唯一標識結果中每個對象的字段進行排序時,才能保證特定的排序。例如,如果 name 字段不是唯一的,則按它排序並不能保證具有相同名稱的對象總是以相同的順序出現。

相關用法


注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.db.models.Options.ordering。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。