在 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'))