여태까지 urls.py, views.py 그리고 template들만 가지고 공부를 했습니다. 이제 models.py를 다뤄보려고 합니다.
그전에 Model이 무엇인지 알 필요가 있습니다.
모델은 정보들을 저장하기 위해 사용하는 개념입니다.
우리가 만들 웹 서비스에서 사용할 정보의 특성에 대해 정의한 것을 의미합니다.
사이트의 게시물, 댓글, 회원 정보들도 모델의 범주에 속하는데 이러한 정보를 시스템에서 처리하고 저장하기 위해 모델링이라는 과정을 거쳐야 합니다.
예를 들어 설명하겠습니다.
맛집 사이트를 개발한다고 생각하고
정보를 저장하고 활용하기 위해
모델링 과정을 살펴보겠습니다.
취급할 정보의 종류를 결정한다.
맛집, 평가, 회원 등등
결정된 종류 각각이 모델 클래스가 됩니다.
각 정보의 속성을 정리한다.
데이터베이스는 데이터를 저장하고 관리하고 조회하기 위한 시스템을 의미합니다.
당연히 우리가 웹 사이트를 만들때는 이 데이터베이스에 새로운 데이터를 저장하고 다시 저장된 정보들을 표시합니다.
Django에서는 이러한 정보 단위, 즉 모델 클래스를 Python 클래스로 선언하여 정의합니다.
이렇게 정의한 하나의 클래스가 하나의 테이블로 만들어지고 데이터베이스는 여러 개의 테이블로 구성됩니다.
위에서 든 예를 보면, 데이터베이스에는 맛집, 평가, 회원에 관한 테이블이 하나씩 존재합니다.
모델 클래스 (Python 클래스)
데이터베이스와 각 테이블