스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차
2022.12.08. 70일차 - TIL
1. 북마크 기능 postman 확인
오늘 하루종일 이 오류만 수정하느라고 시간을 보냈다. 일단 상황은 이러하다. 로그인 기능이 구현되지 않은 상태에서 내가 담당한 북마크 기능을 전날 먼저 만들게 되었고 때문에 postman으로 기능테스트를 오늘 해보았다.(admin계정에서 계정을 하나 생성해 테스트를 진행하려 하였으나 뭐가 문제인지 admin 계정 생성이 되지 않았다. 이렇게 기존에 배운 내용과 다르게 User모델을 짰을 때 createsuperuser가 진행되지 않는 문제는 추후에 정리하자...) 등장한 오류는 FOREIGNKEY CONSTRAINTS 오류... 그래서 정말 혼자서 6시간 넘게 붙잡고 있다가 도무지 모르겠어서 튜터님께 질문을 하러 갔다.(이때 튜터님들도 코드를 한참을 들여다 보셨으나 뭐가 문제인지 모르겠다고....) 그렇게 시간이 또 한참 흐르다가 문득 튜터님의 한 마디.. "makemigrations 하셨나요?"
당당하게 당연히 했죠! 라며 이를 증명하기 위해 makemigrations 명령어를 입력했더니... 안 되어있었다...
그러니까 결국 어제 코드를 만들고 migration을 했고, 거기에 추가적으로 오늘 view코드를 만지면서 model도 함께 수정했나 보다... 그리고 migration을 하지 않은 것....(테스트가 이렇게 중요하다... 어제 무슨 작업했는지 하나도 기억나지 않는다...) 그렇게 문제 해결....(부끄러워.....)
추가적으로 알게된 것은
우리가 ForeignKey로 설정해 놓은 필드는 실제로 db를 살펴보면 필드명_id라고 되어있는데 이때는 무조건 해당 객체.id로 넣어야 한다. 그게 아니라 그냥 필드명에 값을 넣고 싶은 경우에는 해당 객체 자체를 넣는다.
# id로 넣는 경우
user = request.user.id
article = get_object_or_404(Festival_Article, id=festival_article_id)
Bookmark.objects.create(bookmark_user_id=user, bookmark_festival_id = article.id)
# 객체로 넣는 경우
user = request.user
article = get_object_or_404(Festival_Article, id=festival_article_id)
Bookmark.objects.create(bookmark_user=user, bookmark_festival = article)
'개발일지 > AI 캠프' 카테고리의 다른 글
내일배움캠프 AI - 15주차 WIL (0) | 2022.12.11 |
---|---|
내일배움캠프 AI - 71일차 TIL, 2022.12.09 (0) | 2022.12.11 |
내일배움캠프 AI - 69일차 TIL, 2022.12.07 (0) | 2022.12.08 |
내일배움캠프 AI - 68일차 TIL, 2022.12.06 (1) | 2022.12.07 |
내일배움캠프 AI - 67일차 TIL, 2022.12.05 (0) | 2022.12.06 |