여태.... 그냥 .. 아무 생각 없이 썼던 save 메서드. 어떻게 동작하는지, DB 에 어떻게 연결되는지 알지도 못하고 썼다. 물론 대놓고 배운 적은 없어도 아무 생각 없이 쓴건 내 잘못이다. 우리가 모델을 만들면 , 장고는 자동으로 CRUD 추상화 메서드를 제공한다. 이렇게.. 저 save는 어떻게 동작하는건가. 나는 SQL 문을 기대했는데 나오지 않고 있다. 공식 문서에 따르면 다음의 단계로 데이터베이스에 연결된다고 한다. 세팅할 때 데이터베이스를 등록해뒀는데, 그곳을 통해 주고받는 것으로 보인다.
Serializer 가 무엇이었는지 떠올려보자. 기억이 희미하지만 분명히 배웠다. 시리얼라이저는 쿼리셋, 모델 인스턴스(객체) 를 Json 이나 XML 유형으로 쉽게 변환할 수 있는 Python 데이터타입으로 만들어준다. 그리고 이렇게 변환된 타입은 추후 Json 형태로 파싱한다. 시리얼라이저 사용 전을 떠올려보자. (물론 기억이 없다.) 리퀘스트가 들어오면 객체의 오브젝트를 모두 찾아서 한땀한땀 json 형태로 만든 다음에 그것을 JsonResponse 로 변환했었다. 시리얼라이저를 사용한 후에는 객체의 오브젝트를 모두 찾은 다음에, 시리얼라이징 하고 HttpReponse 로 리턴했었다. 여기서 우리는 시리얼라이저를 만든 적이 없으며 라이브러리에서 받아서 사용했다. 마지막으로 api 요청이 들어왔을 때..
스프링부트의 MVC 패턴이다. 디장고의 MTV 패턴이다. 스프링 - 디장고 순으로 Controller = View Model = Model View = Template 이다. 작업했던 디장고 폴더구조를 다시 보자. 백엔드 폴더 내부에 메인 폴더가 있고 같은 위치에 accounts와 movies 폴더가 있다. 메인 폴더 안에는 세팅과 기본 url 이 있다. accounts 폴더 안에는 models.py + serializers.py + urls.py + views.py 로 구성되어 있다. HTTP 응답을 생각해보자. 특정 주소로 요청이 오면 디장고의 view 에서 처리한다. @api_view 어노테이션을 보자. 포스트 요청을 처리한다. signup 함수를 만들고, request를 파라미터로 받았다. pas..
Django Seed 활용하여 FK 포함한 모델의 test data 생성하기 FK가 있는 경우 모두 customize 하여 생성하였습니다. 까다로워서, 여러 자료(블로그, stackoverflow 및 공식문서) 를 참고하였습니다. 모든 필드를 customize하여 seed를 정의하고 외래키의 경우 랜덤으로 ninefloor-design.tistory.com 위 게시물처럼 FK 를 포함한 것과 유사하게 MTM 필드를 포함한 모델의 테스트 데이터를 생성하고 싶었지만 계속해서 다음 에러가 발생하였습니다. raise TypeError( TypeError: Direct assignment to the forward side of a many-to-many set is prohibited. Use following..
FK가 있는 경우 모두 customize 하여 생성하였습니다. 까다로워서, 여러 자료(블로그, stackoverflow 및 공식문서) 를 참고하였습니다. 모든 필드를 customize하여 seed를 정의하고 외래키의 경우 랜덤으로 부여합니다. 해당 파일은 만들고자 하는 앱 폴더 내에 management/commands 폴더를 생성한 뒤 각 폴더에 __init__.py 를 만들고 commands 안에 실행파일을 만들어줍니다. 실행은 python manage.py seed_reviews 로 진행합니다. 코드(FK 포함 모델) 한 명의 user 가 여러 개의 리뷰를 작성할 수 있고, 한 개의 movie에 여러 개의 리뷰가 달릴 수 있으므로 Review 모델 안에 user = models.Foreignkey(M..
File "/back-end/venv/lib/python3.9/site-packages/rest_framework_jwt/serializers.py", line 60, in validate 'token': jwt_encode_handler(payload), File "/back-end/venv/lib/python3.9/site-packages/rest_framework_jwt/utils.py", line 92, in jwt_encode_handler return jwt.encode( AttributeError: 'str' object has no attribute 'decode') 에러원인 - simple-jwt 로 인한 기존 jwt 버젼 업그레이드 - 버젼 업그레이드되면서 str 을 또다시 decode..
refresh token 을 5분으로 설정해서 로그인하고 5분후에 동작을 시키면 401 unauthorized error와 함께 @permission_classes([IsAuthenticated]) 를 붙인 뷰함수가 실행되지 않음을 확인하였다. (정상상태) 그런데 페이지를 계속 새로고침해도 로그인상태는 유지되고있었다. (상태는 로그아웃 인데, 화면이 바뀌지 않음) 프론트 수정이 필요
- Total
- Today
- Yesterday
- SSAFY
- 개발자커리
- 한글무료폰트추천
- 개발자책추천
- 개발언어추천
- 브왈라
- 임대차3법
- 디즈니얼굴
- ssafy6기
- 싸피
- 개발자도서추천
- 폰트
- ssafy후기
- 클린코더
- 개발자
- 개발자로드맵
- 개발언어순위
- ssafy합격후기
- 깃허브계정
- 폰트추천
- 싸피6기
- 무료폰트추천
- intj여자
- 코딩도서
- 상업용무료폰트
- ssafy결과
- 개발도서추천
- 깃허브계정2개
- 맥과윈도우로깃허브
- 클린코드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |