0
我有一個名爲Post模型,看起來像這樣:如何獲取模型的上一個和下一個對象?
class Post(models.Model):
title = models.CharField(max_length=18)
body = models.TextField()
date = models.DateTimeField()
def __str__(self):
return self.title
我怎麼會得到一個和下一個帖子對象?
我試圖用1減去和1加做.objects.get(id)
查找在views.py:
def blog_detail(request, id):
post = Post.objects.get(id)
post_id = post.id
previous_post_id = int((post.id-1))
next_post_id = int((post.id+1))
# Next post
try:
next_post = Post.objects.get(id=next_post_id)
except:
next_post = None
# Previous Post
try:
previous_post = Post.objects.get(id=previous_post_id)
except:
previous_Post = None
context = {'post': post, 'next': next_post, 'previous_post': previous_post}
return render(request, "BlogHome/pages/post.html", context)
我假設我有怎樣的語法著作的誤解。
上一個和下一個關於哪個/什麼? –
@MosesKoledoye對於任何特定的Post對象,如果我有Post.id == 2的Post對象,我會得到Post.id == 1和Post.id == 3。我嘗試了[get_next_by_FOO()](https://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.get_next_by_FOO)方法,但似乎沒有完成我想要做的事情。 –
你怎麼知道ID是1和3?你應該展示你的嘗試 – Sayse