Djangoでコメント数と一緒に投稿を表示したい。私は現在、投稿モデルのように投稿のコメント数を持っていませんcomment_count
。モデルのようなものを入れなくても、投稿にコメントがいくつあるかを示すモデル関数を書くことができると考えていました。
ここに私の投稿モデルがあります:
class Post(models.Model):
user = models.ForeignKey(User, unique=False)
headline = models.CharField(max_length=400, verbose_name="post headline")
type = models.CharField(max_length=4)
branch = models.ForeignKey(Branch, verbose_name="branch name", validators=[branch_exists])
upvotes = models.IntegerField()
is_starred = models.BooleanField()
url_title = models.SlugField()
creation = models.DateTimeField()
thumbnail = models.URLField(blank=True)
body = models.TextField(max_length=90000, blank=False)
link = models.URLField(blank=False, verbose_name="your link URL")
def __unicode__(self):
return u"`%s' posted by %s at %s\n" % (self.headline, self.user, self.creation)
そして、ここに私のコメントモデルがあります:
class Comment(models.Model):
user = models.ForeignKey(User, unique="False")
time = models.DateTimeField()
upvotes = models.IntegerField()
post = models.ForeignKey(Post, unique="False")
formatting = models.BooleanField(verbose_name="Format comment?")
text = models.TextField(max_length=9000, blank=False)
anonymous = models.BooleanField(verbose_name="Post comment anonymously?")
私は次のようなことをしたい:
def __unicode__(self):
return u"`%s' posted by %s at %s with %s comments" % (self.headline, self.user, self.creation, self.comment_count)
ただし、comment_count フィールドはありません。投稿と一緒にデータベースからコメントの数を取得したい。