Как создать вложенный раздел комментариев?

как лучше всего создать вложенный раздел комментариев?

Мои текущие настройки Views таковы

class AddCommentView(CreateView):
    model = Comment
    form_class = CommentForm
    template_name = 'add_comment.html'

    # fields = '__all__'
    def form_valid(self, form):
        form.instance.post_id = self.kwargs['pk']
        return super().form_valid(form)

    success_url = reverse_lazy('home')

Это мои текущие модели...


class Comment(models.Model):
    post = models.ForeignKey(Post, related_name="comments", on_delete=models.CASCADE)
    name = models.CharField(max_length=250)
    body = models.TextField()
    date_added = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return '%s - %s' % (self.post.title, self.name)

Любая помощь в этом вопросе будет очень признательна!

Для этого вам нужна самосвязанная модель.

django-mptt ( Modified Preorder Tree Traversal) может быть использован для этой цели.

Полагая, что комментарий может быть ответом на сообщение или на другой комментарий, что-то вроде

Post
Comment
   Comment
Comment
   Comment
   Comment
     Comment
  

Это видео - то, что вы ищете.

Learn Django 3 - Build MPTT Comments

Вернуться на верх