在 Django 中注释和统计与特定 class 相关的帖子
Annote and count posts related to a specific class, in Django
我有以下三个class;主题、条目和评论,我希望在每个主题 post 中注释和计算条目数(class 条目中的对象)。
class Topic(models.Model):
title = models.CharField(max_length=200)
topic_count = models.PositiveIntegerField()
class Entry(models.Model):
title = models.CharField(max_length=200)
entry = models.PositiveIntegerField()
belongsTo = models.ForeignKey(Topic)
class Comment(models.Model):
title = models.CharField(max_length=200)
comment_count = models.PositiveIntegerField()
belongsTo = models.ForeignKey(Entry)
我试过用;
注释
entry_count = Topic.objects.values('title').annotate(entry_count = Count('id')).order_by('-entry_count')
其中 returns 包含一些条目的列表;
[{'entry_count': 1, 'title': u'Topic1'}, {'entry_count': 1, 'title': u'Topic2'}, {'entry_count': 1, 'title': u'Topic3'}]
我正在尝试获取以下信息; Topic 1 中有三个 post,因此 Topic1 的 entry_count 为 3,Topic2 中有两个条目 -post,因此 Topic2 的 entry_count 为 2。
你走在正确的轨道上。
entry_count = Topic.objects.values('title').annotate(Count('entry')).order_by('-entry__count')
entry_count = Topic.objects.annotate(entry_count=Count('entry'))
我有以下三个class;主题、条目和评论,我希望在每个主题 post 中注释和计算条目数(class 条目中的对象)。
class Topic(models.Model):
title = models.CharField(max_length=200)
topic_count = models.PositiveIntegerField()
class Entry(models.Model):
title = models.CharField(max_length=200)
entry = models.PositiveIntegerField()
belongsTo = models.ForeignKey(Topic)
class Comment(models.Model):
title = models.CharField(max_length=200)
comment_count = models.PositiveIntegerField()
belongsTo = models.ForeignKey(Entry)
我试过用;
注释entry_count = Topic.objects.values('title').annotate(entry_count = Count('id')).order_by('-entry_count')
其中 returns 包含一些条目的列表;
[{'entry_count': 1, 'title': u'Topic1'}, {'entry_count': 1, 'title': u'Topic2'}, {'entry_count': 1, 'title': u'Topic3'}]
我正在尝试获取以下信息; Topic 1 中有三个 post,因此 Topic1 的 entry_count 为 3,Topic2 中有两个条目 -post,因此 Topic2 的 entry_count 为 2。
你走在正确的轨道上。
entry_count = Topic.objects.values('title').annotate(Count('entry')).order_by('-entry__count')
entry_count = Topic.objects.annotate(entry_count=Count('entry'))