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


Python Django QuerySet.reverse用法及代码示例


本文介绍 django.db.models.query.QuerySet.reverse 的用法。

声明

reverse()

使用 reverse() 方法反转查询集元素的返回顺序。再次调用reverse() 会将排序恢复到正常方向。

要检索查询集中的 “last” 五个项目,您可以这样做:

my_queryset.reverse()[:5]

请注意,这与在 Python 中从序列末尾进行切片并不完全相同。上面的示例将首先返回最后一项,然后是倒数第二项,依此类推。如果我们有一个 Python 序列并查看 seq[-5:] ,我们将首先看到 fifth-last 项目。 Django 不支持这种访问模式(从末尾开始切片),因为在 SQL 中无法有效地做到这一点。

另外,请注意 reverse() 通常只应在具有已定义排序的 QuerySet 上调用(例如,当查询定义默认排序的模型时,或使用 order_by() 时)。如果没有为给定的 QuerySet 定义此类排序,则对其调用 reverse() 没有实际效果(在调用 reverse() 之前排序未定义,之后将保持未定义)。

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.db.models.query.QuerySet.reverse。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。