Вложенные комментарии в django -rest-framework - PullRequest
2 голосов

Я пытаюсь делать вложенные комментарии к сообщениям, но получаю такую ​​ошибку: «столбец news_comment.parent_id не существует». Как я могу решить эту проблему или любые другие реализации?

serializers.py

        class CommentSerializer(serializers.ModelSerializer):
              replys = serializers.SerializerMethodField()

              def get_replys(self, obj):
                    queryset = Comment.objects.filter(parent_id=obj.id)
                    serializer = CommentSerializer(queryset, many=True)
                    return serializer.data

              class Meta:
                model = Comment
                fields = '__all__'
        class PostListSerializer(serializers.ModelSerializer):
                comments = serializers.SerializerMethodField()

                def get_comments(self, obj):
                    queryset = Comment.objects.filter(post_id=obj.id, parent_id=None)
                    serializer = CommentSerializer(queryset, many=True)
                    return serializer.data

                class Meta:
                    model = Post
                    fields = '__all__'

models.py

        class Comment(models.Model):
            post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name='comments')
            parent = models.ForeignKey(
              'self',
              default=None,
              blank=True,
              null=True,
              on_delete=models.CASCADE,
              verbose_name='parent',
              related_name='replys'
            )
            text = models.TextField(max_length=1500)
            date = models.DateTimeField(auto_now=True)
            username = models.CharField(max_length=50)
            user = models.ForeignKey(User, on_delete=models.CASCADE)
...