如何做子评论
How to do subcomments
from django.db import models
class Post(models.Model):
post_title = models.CharField(max_length=120, default=None)
post_text = models.TextField()
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.post_title
class Comment(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
sub_comment = models.ForeignKey('self', on_delete=models.CASCADE, blank=True, null=True)
author = models.CharField(max_length=50)
comment_text = models.CharField(max_length=250)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.author
你好,我有一个问题。如果我有这样的模型,如何将评论显示为线程?
一个评论可以有多个子评论,所以这个模型行不通。将 sub_comment
替换为 parent = models.ForeignKey(..., related_name='subcomments')
。然后你可以说 comment.subcomments
这会给你一个相关的对象管理器,所以 comment.subcomments.all()
将是你可以迭代的所有子评论的查询。
from django.db import models
class Post(models.Model):
post_title = models.CharField(max_length=120, default=None)
post_text = models.TextField()
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.post_title
class Comment(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
sub_comment = models.ForeignKey('self', on_delete=models.CASCADE, blank=True, null=True)
author = models.CharField(max_length=50)
comment_text = models.CharField(max_length=250)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.author
你好,我有一个问题。如果我有这样的模型,如何将评论显示为线程?
一个评论可以有多个子评论,所以这个模型行不通。将 sub_comment
替换为 parent = models.ForeignKey(..., related_name='subcomments')
。然后你可以说 comment.subcomments
这会给你一个相关的对象管理器,所以 comment.subcomments.all()
将是你可以迭代的所有子评论的查询。