【发布时间】:2020-11-15 17:20:12
【问题描述】:
我的查询有点问题。我在 django 的博客网站上工作。对于帖子,我在第一页将所有帖子显示为列表,以及它们的详细信息(标题、发布日期等),并且我想显示每个帖子的 cmets 数量以及标题、发布日期和标签。我不确定如何做到这一点,我需要在模型类或呈现页面的视图函数中实现一些东西? 这是模型类。
class Post(models.Model):
author = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
title = models.CharField(max_length=500)
content = models.TextField()
tags = models.CharField(max_length=100)
date_posted = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.title
class Comment(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)
post = models.ForeignKey(Post, on_delete=models.CASCADE)
comment_text = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
def __str__(self):
return f'{self.user.username} Comment ' + str(self.id)
和视图函数
def blog(request):
context = {
'posts': Post.objects.all(),
'title': 'Blog',
'banner_page_title': 'Blog',
'page_location': 'Home / Blog'
}
return render(request, 'blog/blog.html', context)
【问题讨论】: