在Django中,如何从一个表中选择数据并从相应的表中计数并输出相同的数据?

在Django中,如何从一个表中选择数据并从相应的表中计数并输出相同的数据?,django,django-models,Django,Django Models,我有两种型号,如下所述: class Post(models.Model): title = models.CharField(max_length=60) details = models.TextField() class Comment(models.Model): blog_post = models.ForeignKey(Post) name = models.CharField(max_length=40) comment = models.TextField(

我有两种型号,如下所述:

class Post(models.Model):
  title = models.CharField(max_length=60)
  details = models.TextField()

class Comment(models.Model):
  blog_post = models.ForeignKey(Post)
  name = models.CharField(max_length=40)
  comment = models.TextField()
我想写一个视图,显示所有来自帖子的条目以及每个帖子的相应评论数

我知道我可以通过以下操作获得评论数:
Comment.objects.filter(blog\u post\u title\u icontains='xxx').count()

我只想输出一个HTML页面,其中显示所有帖子,每个帖子都应该有相应的评论计数(只是计数,而不是实际的评论条目/数据)。我该怎么做?如何将帖子列表和每篇帖子的相应评论数传递给模板?

您可以使用。当你得到你的帖子列表时,你告诉Django你想同时统计相关的评论:

from django.db.models import Count
posts = Post.objects.all().annotate(comment_count=Count('comment'))
现在,
posts
queryset中的每个post都有一个
comment\u count
属性,即相关评论的数量