python - 如何在 django 中使用 get_next_by_FOO() ?

标签 python django blogs

我正在构建博客网站,并尝试分别为下一篇文章和上一篇文章添加 nextprev 按钮。

在官方文档中,解释了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/

相关文章:

Django-Ngix-Gunicorn 使用 Docker Compose 返回错误的媒体文件路径

php - Twitter 如何实时更新其博客文章?

python - Matplotlib rectangleSelector - 设置初始位置

python - Python 中 Tkinter 中的滚动条仅在悬停滚动条时才起作用

python - 如何在 python 中获取列表的子集?

python - 将自生成的 Excel 文件保存为 UploadedFile

django - 如何在Windows机器上用django测试 celery

jquery - 如何使用 jQuery 和 CSS 限制动态填充的导航?

blogs - 如何在 hugo post 中呈现正确的日期时间?

python - 为什么 python dict 键/值不像鸭子一样嘎嘎叫?