[TIL] 10.02 기업협업 - DB 최종/ 쿼리셋
2019. 10. 2. 00:18ㆍTIL
오늘 한일
CTO 님이 DB에 대한수정사항과 만들때 조심해야 할 점들을 말해 주었다.
- 플랫폼 이름은 코드성 테이블로 만드는게 좋다 오타가 나서 플랫폼 이름이 잘못 저장되어 버리면 안되니까
- 인덱스 (key)값은 테이블의 이름으로 설정 하는 것이 좋다.
- Logical 테이블과 Physical 테이블을 만들어 둬야 한다. 이 테이블을 보는 사람들이 이해 할 수 있도록
- 하루에 두 번을 돌린다고 한다면 한 데이터가 한번 돌았다는 것을 어떻게 확인 할 것인가?
- 쿼리에 포함되는 단어 Update, name 등은 사용하지 않는 것이 좋다.
- 한번에 다 불러오는 조인 테이블이 아닌 이상 바로바로 연결해 주는 것이 좋다.
- 데몬을 돌리면서 가장 바쁜 테이블은 어디인지를 계속 체크 해야 한다.
- 또한 가장 데이터가 많이 들어가는 테이블에서 어떻게 효과적으로 값을 가져 올 것인지 고민해야 한다.
위의 사항들을 바탕으로 드디어 최종본을 완성할 수 있었다.
이후 API 작성을 시작 하였다. 장고에는 APIview와 queryset을 사용하는 방법이 있었다. queryset은 라우터 설정을 하면 URL이 자동으로 생성이 되었기 때문에 편하고 빠르게 작업이 가능하다고 생각하여 queryset을 사용하기로 하였다. queryset 하나만으로 CRUD가 전부 가능하다고도 한다. 쿼리셋은 쿼리문을 만들어 주는데 쿼리문으로 조인을 해주는데 꽤나 애를 먹고있다. 먼저 쿼리문으로 만든다음 쿼리셋으로 바꿔주는 방법을 사용하고 있는데 쿼리문이 익숙하지 않다보니 너무 힘들었다.
장고 로직
쿼리셋 메소드
쿼리셋 (request)
https://velog.io/@mycampground/Serializer-클래스-생성-요청과-응답-처리하기-kdjzozpx3g
'TIL' 카테고리의 다른 글
[TIL]10.06 기업협업 - API (0) | 2019.10.06 |
---|---|
[TIL] 10.03 기업 협업 - database error (0) | 2019.10.03 |
[TIL] 09.29 기업협업 (0) | 2019.09.29 |
[TIL] 09.27 기업협업 - DB테이블, crawling error (0) | 2019.09.28 |
[TIL] 09.26 기업협업 - 기업미팅, 로그 테이블, rest API (0) | 2019.09.27 |