本文介绍 django.db.models.query.QuerySet.latest
的用法。
声明
latest(*fields)
根据给定字段返回表中的最新对象。
此示例根据pub_date
字段返回表中最新的Entry
:
Entry.objects.latest('pub_date')
您还可以根据多个字段选择最新的。例如,当两个条目具有相同的 pub_date
时,选择具有最早 expire_date
的 Entry
:
Entry.objects.latest('pub_date', '-expire_date')
'-expire_date'
中的负号表示按照descending
的顺序对expire_date
进行排序。由于latest()
得到最后一个结果,所以选择expire_date
最早的Entry
。
如果您的模型的 Meta 指定
,您可以省略 get_latest_by
earliest()
或 latest()
的任何参数。
中指定的字段将默认使用。get_latest_by
与
、 get()
earliest()
和 latest()
类似,如果没有具有给定参数的对象,则会引发
。DoesNotExist
请注意,earliest()
和latest()
的存在纯粹是为了方便和可读性。
earliest()
和 latest()
可能会返回具有空日期的实例。
由于排序已委托给数据库,因此如果您使用不同的数据库,则允许空值的字段上的结果可能会以不同的方式排序。例如,PostgreSQL 和MySQL 对空值进行排序,就好像它们高于非空值一样,而 SQLite 则相反。
您可能想要过滤掉空值:
Entry.objects.filter(pub_date__isnull=False).latest('pub_date')
相关用法
- Python Django QuerySet.select_related用法及代码示例
- Python Django QuerySet.union用法及代码示例
- Python Django QuerySet.values用法及代码示例
- Python Django QuerySet.intersection用法及代码示例
- Python Django QuerySet.get用法及代码示例
- Python Django QuerySet.none用法及代码示例
- Python Django QuerySet.exclude用法及代码示例
- Python Django QuerySet.get_or_create用法及代码示例
- Python Django QuerySet.update_or_create用法及代码示例
- Python Django QuerySet.prefetch_related用法及代码示例
- Python Django QuerySet.first用法及代码示例
- Python Django QuerySet.annotate用法及代码示例
- Python Django QuerySet.dates用法及代码示例
- Python Django QuerySet.values_list用法及代码示例
- Python Django QuerySet.select_for_update用法及代码示例
- Python Django QuerySet.order_by用法及代码示例
- Python Django QuerySet.bulk_update用法及代码示例
- Python Django QuerySet.in_bulk用法及代码示例
- Python Django QuerySet.defer用法及代码示例
- Python Django QuerySet.aggregate用法及代码示例
- Python Django QuerySet.reverse用法及代码示例
- Python Django QuerySet.count用法及代码示例
- Python Django QuerySet.exists用法及代码示例
- Python Django QuerySet.explain用法及代码示例
- Python Django QuerySet.create用法及代码示例
注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.db.models.query.QuerySet.latest。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。