我用Django制作了一个评论模型。我将如何制作一个评论回复模型?
以下是我的评论模式:我用Django制作了一个评论模型。我将如何制作一个评论回复模型?,django,django-models,Django,Django Models,以下是我的评论模式: class Comment(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) subject = models.TextField(max_length=100) message = models.TextField(max_length=1500) timestamp = models.DateTimeField(auto_now_add=Fals
class Comment(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
subject = models.TextField(max_length=100)
message = models.TextField(max_length=1500)
timestamp = models.DateTimeField(auto_now_add=False)
我如何制作另一个模型来回复这个评论模型,然后再次回复回复的评论。如果你还需要关于这个问题的更多细节,请告诉我 类似这样:
class Reply(models.Model):
reply = models.TextField(max_length=1500)
comment = models.ForeignKey('Comment', on_delete=models.CASCADE)
parent = models.ForeignKey('self', null=True)
然后,您可以对每个评论有多个回复
使用父外键记录某人何时答复答复
例如,这是您在数据库中所期望的:
第一次评论和回复-评论1
答复1
父Null
回复第一个回复-
评论1
答复2
父项1类似这样的内容:
class Reply(models.Model):
reply = models.TextField(max_length=1500)
comment = models.ForeignKey('Comment', on_delete=models.CASCADE)
parent = models.ForeignKey('self', null=True)
然后,您可以对每个评论有多个回复
使用父外键记录某人何时答复答复
例如,这是您在数据库中所期望的:
第一次评论和回复-评论1
答复1
父Null
回复第一个回复-
评论1
答复2
家长1让我们假设这是对新闻文章的评论: 添加父字段和项目字段。任何没有parentID的评论记录都意味着它直接评论文章,任何带有parentID的评论都意味着它是对另一条评论的评论/回复
class Comment(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
subject = models.TextField(max_length=100)
message = models.TextField(max_length=1500)
timestamp = models.DateTimeField(auto_now_add=False)
article = models.ForeignKey(article)
parent = models.ForeignKey(Comment, null=True, on_delete=models.CASCADE)
这意味着您可以有1条没有parentID的记录(这意味着它是对文章的直接评论),50条评论记录的parentID是其他评论的parentID,没有ID(表示它们是回复),然后您可以有更多的记录的parentID是这些评论的ID
这还具有不需要另一个模型类的优点。“回复”与评论相同,只是没有家长。假设这是对新闻文章的评论: 添加父字段和项目字段。任何没有parentID的评论记录都意味着它直接评论文章,任何带有parentID的评论都意味着它是对另一条评论的评论/回复
class Comment(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
subject = models.TextField(max_length=100)
message = models.TextField(max_length=1500)
timestamp = models.DateTimeField(auto_now_add=False)
article = models.ForeignKey(article)
parent = models.ForeignKey(Comment, null=True, on_delete=models.CASCADE)
这意味着您可以有1条没有parentID的记录(这意味着它是对文章的直接评论),50条评论记录的parentID是其他评论的parentID,没有ID(表示它们是回复),然后您可以有更多的记录的parentID是这些评论的ID
这还具有不需要另一个模型类的优点。“回复”与评论相同,只是没有家长。谢谢你的回复,但是我怎么能让别人回复回复呢?@MitchellPottratz我编辑了我的答案,希望能有所帮助?谢谢你的回复,但是我怎么能让人回复回复评论呢?@MitchellPottratz我编辑了我的答案,希望能有所帮助?