首页 > 解决方案 > 在 django 中获取当前 obj 的下一个和上一个对象的最佳方法

问题描述

有一种方法可以使用 Django ORM 获取上一条和下一条记录。

next_obj= MyModel.objects.filter(id__gt=id).order_by('id').first()

previous_obj= MyModel.objects.filter(id__lt=id).order_by('id').last()

这段代码如何反映在 SQL 查询中,是否最佳?如果不是,那么优化 SQL 查询是什么?

我认为优化将从给定的 id 开始,然后将计数器加一,然后搜索如果找到的 obj 返回它,则继续并在您没有​​达到结束时增加计数器。

标签: django-orm

解决方案


推荐阅读