본문으로 바로가기

[IntegrityError, Not NULL constraint failed]

category TIL 2022. 11. 1. 12:09

NOT NULL constraint failed: articles_article.user_id

포스트맨으로 게시물 작성 post를 보내는데  [IntegrityError, Not NULL constraint failed] 에러가 떴다.

user 모델을 Foreign Key로 참조하며 Post 모델의 테이블에 user_id라는 컬럼이 자동 생성되는데

DB를 보면 user_id 컬럼이 NOT NULL로 되어있음을 확인할 수 있고 그렇다면 user정보가 안받아와진다고 생각이 들었다.

    def post(self, request): # 생성
        print(request.user)
        serializer= ArticleCreateSerializer(data=request.data) #user post 비직렬화

print로 요청유저를 받아보니 anonymous 라고 뜨며 받아오지 못하는 모습을 볼 수 있었다.

처음에는 모델에서 null=True로 바꿔보기도하고

serializer.save(user=request.user)

에서 user를 지우고 처음부터 user정보를 받아오는지부터 테스트를 하다가 로그인을 다시하고 토큰을 받아 다시 post해도 작성이 되지않는 상황이 지속됐다.

그러다가 어느순간 다시 로그인한 이메일을 받아오는걸 확인했고 정확한 이유는 찾지못했지만 코드들을 원상복귀시키니 다시 잘 작동하였다.