Error 길잡이 - ValueError: Cannot assign @ : $ must be a && instance

Sinjae Lee·2021년 6월 30일
1

comment view 로직을 작성했고 comment를 생성하려고

위와같이 데이터를 보내줬는데 Cannot assign "2" : "Comment.post" must be a "Post" instance 라는 err가 생겼다.

나의 view 로직은 이렇게 생겼다

    @ConfirmUser
    def post(self, request):
        data = json.loads(request.body)

        Comment.objects.create(
            content = data["content"],
            post    = data["post_id"],
            users   = request.user,
        )

        return JsonResponse({"MESSAGE": "SUCESS"}, status=201)

한참 찾았는데 역시 답은 error 메세지 안에 있었다

2 가 아니라 저자리에는 "Post" instance 가 되어야만한다! 뭔말이냐 하면

Post model 의 instance 이거...
이렇게 와야 한다는 말

그러면 view 로직도

    @ConfirmUser
    def post(self, request):
        data = json.loads(request.body)
        post    = Post.objects.get(id=data["post_id"])
        Comment.objects.create(
            content = data["content"],
            post    = post,
            users   = request.user,
        )

        return JsonResponse({"MESSAGE": "SUCESS"}, status=201)

요렇게 수정해주면

해결!

profile
Back-end developer

0개의 댓글