Создание объекта, ответвляющегося от объекта, и установка идентификатора корневого объекта в поле parent_object

С помощью этой функции

 def post(request, note_id, comment_id=None):
    """Create a comment under a post/idea."""
    request.data["owner"] = request.user["id"]
    request.data["note_id"] = note_id
    if comment_id:
        try:
            parent_comment = Comment.objects.get(id=comment_id)
            request.data["parent_comment"] = parent_comment
        except Comment.DoesNotExist:
            request.data["parent_comment"] = None
    else:
        request.data["parent_comment"] = None
    serializer = CommentSerializer(data=request.data)
    if serializer.is_valid(raise_exception=True):
        serializer.save()
    return Response(serializer.data) 

сериализатор для модели комментариев

class CommentSerializer(serializers.ModelSerializer):

class Meta:
    model = Comment
    fields = "__all__"

и путь к моему url

path("<uuid:note_id>/comments/<uuid:comment_id>/replies/", views.CommentsGetOrCreateView.as_view(), name="CommentRepliesGetOrCreateView")

Я пытаюсь создать комментарий на основе комментария, созданного на основе заметки. В настоящее время я могу создать заметку и создать комментарий к ней, могу получить комментарии под комментарием, но не могу POST с указанным ниже url, как мне нужно. В настоящее время я получаю ошибку на postman как ["parent_comment" : "Must be a valid UUID"]

Я пробовал реорганизовать свой метод post и пробовал изменить сериализатор, чтобы родительский_коммент мог быть null. Я также попробовал добавить .id в конце "request.data["parent_comment"] = parent_comment.id"

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