터칭 데이터
3주차 - 2 [장고(Django)] 모델(Model)에 대해 본문
두괄식 요약
1. 일반적으로 웹 페이지는 데이터 베이스의 데이터를 가져와 프론트 엔드 기술과 합쳐져 브라우저로 표현된다.
2. 모든 웹 페이지의 앱(기능) 동작마다 쿼리문을 적고 수행하고 경우에 따라 디버깅하기에는 코드 양도 많고 지치는 일
3. 장고는 이와 같은 일을 피하고 간결화·최소화를 위해 Model(모델)을 제공한다.
4. 모델은 DB를 테이블별로 읽어 각 테이블마다 저장된 데이터들을 객체화 상태로 활용할 수 있도록 돕는다.
5. 이를 위해 DB와 객체가 매핑될 필요가 있으며 이를 수행하는 것이 바로 그 유명한 장고의 ORM
6. 객체 ← ORM(매핑) → 데이터 베이스
7. 모델을 활용하려면?
1. 앱의 디렉토리내 models.py에서 모델을 생성(수정)한다.
2. 앱이 프로젝트의 settings.py에 등록되지 않았다면 등록한다.
3. 모델을 테이블화 하기에 앞서 마이그레이션(migrations)을 만든다.
4. 만든 마이그레이션을 migrate하여 테이블로 만든다.
5. 위의 단계들을 거쳤다면 테이블들을 객체화해 장고에서 쉽게 다룰 수 있다.
어려운 점 및 보완할 점
1. 프레임워크와 같은 기술스택 강의는 늘 그래왔다. 배움 자체의 난이도와 소요 시간은 비교적 부담이 덜 하지만 이를 익히고 훗날 활용하고 기억할 수 있도록 자신만의 언어로 기록하는 것은 보통 작업이 아니다.
2. 예를 들어 강의를 듣는데 10분이 걸리면, 복습하고 블로그로 기록하는데는 1시간 가까이 걸린다.
3. 현재 강의는 이미 3주차 3일차까지 모두 마쳤지만 완전한 블로그 정리는 아직 1일차 중간지점
4. 강의는 입력, 블로그 정리는 복습 및 출력의 과정. 분명히 올바른 길이고 훗날 남을 것 역시 많다는 믿음은 있지만 문제는 언제나 그렇듯 시간.. 내일은 더 일찍 일어나야겠다.
5. 학습 진행과정에 대한 반성은 오랜만이다. 혹시나 이 글을 읽는 학우님 혹은 훗날의 데브코스 후배님들은 시간계산과 관리를 잘할 수 있기를 바랍니다..
'데브코스 TIL' 카테고리의 다른 글
3주차 - 4 [특강] 소프트웨어 개발 방법론 1 (0) | 2023.11.02 |
---|---|
3주차 - 3 [장고(Django)] 어드민(Admin)과 장고 쉘(Shell) (0) | 2023.11.01 |
3주차 - 1 [장고(Django)] (0) | 2023.10.30 |
2주차 - 5 [웹/웹 스크래핑(크롤링)] 시각화 (0) | 2023.10.27 |
2주차 - 4 [웹/웹 스크래핑(크롤링)] Selenium (0) | 2023.10.26 |