首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Django中,如何从一个表中选择数据,并从相应的表中计数并输出相同的数据?

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

Stack Overflow用户
提问于 2011-01-22 00:24:31
回答 1查看 200关注 0票数 1

我有两个模型,如下所述:

代码语言:javascript
运行
复制
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_post__title__icontains='xxx').count()

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-22 00:37:38

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

代码语言:javascript
运行
复制
from django.db.models import Count
posts = Post.objects.all().annotate(comment_count=Count('comment'))

现在,posts查询集中的每个帖子都有一个comment_count属性,即相关评论的数量。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4761144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档