用django-mptt实现多级评论功能
1、安装django-mptt
pip install django-mptt
2、settings.py中注册
INSTALLED_APPS = [
...
'mptt',
...
]
3、评论模型 model
class Comment(MPTTModel):
public = models.ForeignKey(PublishInformation, on_delete=models.CASCADE, related_name='comments_detail', verbose_name='关联的内容')
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='comments_user', verbose_name='评论的人')
userNickname = models.CharField(max_length=50, verbose_name='评论人的昵称', default='匿名')
body = models.TextField(verbose_name='评论内容')
created = models.DateTimeField(auto_now_add=True)
parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='children')
# 新增,记录二级评论回复给谁, str
reply_to = models.ForeignKey(User, null=True, blank=True, on_delete=models.CASCADE, related_name='replyers')
# class Meta:
# ordering = ('created',)
class MPTTMeta:
order_insertion_by = ['created']
ordering = ['-created']
class Meta:
ordering = ['-created']
def __str__(self):
return self.body[:20]
4、view视图
# 文章评论
#增加评论
def addComment