所以我正在Django建立一个博客,但我正在大脑冻结。
我正在使用BlogPost详细信息视图,我需要查看上一篇和下一篇文章,以便我可以在帖子正文后提供它们作为导航选项。为了这个问题,我有两件事:
when
(日期时间)字段排序。我在查询中没有博客帖子的索引,也不适合扫描我的初始博客帖子的整个查询集。是否有一种智能且廉价的方法可以从给定物体的任何一侧获取物体(如果你不知道它从哪里开始)?
答案 0 :(得分:3)
Model.get_next_by_FOO # get_previous_by_FOO
Django documentation稍有曝光,但很有用:
对于没有null = True的每个DateField和DateTimeField, 该对象将具有get_next_by_FOO()和get_previous_by_FOO() 方法,其中FOO是字段的名称。这将返回下一个和 关于日期字段的前一个对象,引发了一个DoesNotExist 适当时例外。