• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

실습 중 POST 의 경우에 에러 메세지가 출력됩니다

22.02.28 22:12 작성 조회수 447

0

강사님 안녕하세요~~~

다름이 아니라,

뒷 부분 실습을 따라서 진행하던 중에

첨부드린 사진과 같이

http --auth user2:1234 http://localhost:8000/post/1/     

는 잘 실행되는데

http --auth user2:1234 http://localhost:8000/post/1/   

http --auth user2:1234 POST http://localhost:8000/ message="user 2가 생성하는 첫번째 포스팅"

이렇게 POST를 하면 에러가 발생을 하는 것을 볼 수 있었습니다.

...중략 (아주 긴 에러 메세지가 등장합니다.)

 

문제의 원인이 무엇인지 잘 모르겠어서 이렇게 질문을 남겨드립니다. ㅠㅠ !! 

혹 강사님께서 보이시는 문제점을 알려주시면 감사할 것 같습니다.

 

그럼 정말 감사합니다. 

답변 1

답변을 작성해보세요.

0

안녕하세요.

첫번째 이미지 끝에 보시면 아래의 메세지가 있습니다.

NOT NULL constraint failed: instagram_post.author_id

이는 instagram 앱의 Post 모델 인스턴스를 save할 때 author 이름의 외래키 지정이 누락된 채로 SQL 이 생성 전달되었는 데, 해당 DB 테이블에서는 author 필드가 필수필드라서 (NULL을 허용하지 않음) 발생하는 오류입니다.

현재 요청을 처리하는 뷰에서 post 인스턴스의 author 외래키를 세팅하는 코드가 누락되신 듯 합니다.

그리고 httpie 명령을 쓰실 때 옵션으로 --output 파일명 을 지정하시면, 서버 응답이 지정 파일로 저장이 됩니다. 예를 들어 --output error.html 과 같이 옵션을 지정하시면 error.html 파일로 에러가 저장이 되니, 윈도우 탐색기에서 더블클릭으로 에러 메세지를 열어보시기 좋으실 듯 합니다.

화이팅입니다. :-)