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해도 작성이 되지않는 상황이 지속됐다.
그러다가 어느순간 다시 로그인한 이메일을 받아오는걸 확인했고 정확한 이유는 찾지못했지만 코드들을 원상복귀시키니 다시 잘 작동하였다.
'TIL' 카테고리의 다른 글
js로 서버통신 | json data | 시리얼라이저 | serializer | (0) | 2022.11.04 |
---|---|
Git Pull실행시 Not possible to fast-forward 오류발생 (0) | 2022.11.03 |
기본개념 | argument, parameter (0) | 2022.11.01 |
DRF | AWS | serializer 활용, 이해 (0) | 2022.10.31 |
DRF 기본 | 기본기를 닦자 | Django REST framework 정독 (0) | 2022.10.30 |