当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。