我正在构建博客网站,并尝试分别为下一篇文章和上一篇文章添加 next
和 prev
按钮。
在官方文档中,解释了get_next_by_FOO(**kwargs)
和其中FOO是字段的名称。这将返回相对于日期字段的下一个和上一个对象
。
所以我的 models.py 和views.py 如下。
模型.py
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
updated = models.DateTimeField(auto_now=True, auto_now_add=False)
timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
class Meta:
ordering = ["-timestamp", "-updated"]
View .py
def post_detail(request, id=None):
instance = get_object_or_404(Post, id=id)
the_next = instance.get_next_by_title()
context ={
"title": instance.title,
"instance": instance,
"the_next" : the_next,
}
return render(request, "post_detail.html", context)
我是否误解了它的概念?如果我这样做,我该如何处理? 提前致谢!
最佳答案
get_next_by_FOO
适用于日期字段,可以将其想象为“获取按日期(或日期时间)字段排序的下一条记录FOO”。
因此 FOO 是日期或日期时间字段的名称。
在您的模型中,您可以说“根据时间戳获取下一条记录”,这将是 get_next_by_timestamp()
或“根据更新日期获取下一条记录”,并且这将是 get_next_by_updated()
。
关于python - 如何在 django 中使用 get_next_by_FOO() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39070840/