如何做子评论

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() 将是你可以迭代的所有子评论的查询。