TIL no.45 - Django - Basic - 9 - Model Overview

박준규·2019년 10월 20일
0

Django

목록 보기
13/30

여태까지 urls.py, views.py 그리고 template들만 가지고 공부를 했습니다. 이제 models.py를 다뤄보려고 합니다.

그전에 Model이 무엇인지 알 필요가 있습니다.

1. Model이란?

모델은 정보들을 저장하기 위해 사용하는 개념입니다.
우리가 만들 웹 서비스에서 사용할 정보의 특성에 대해 정의한 것을 의미합니다.

사이트의 게시물, 댓글, 회원 정보들도 모델의 범주에 속하는데 이러한 정보를 시스템에서 처리하고 저장하기 위해 모델링이라는 과정을 거쳐야 합니다.


예를 들어 설명하겠습니다.

맛집 사이트를 개발한다고 생각하고
정보를 저장하고 활용하기 위해
모델링 과정을 살펴보겠습니다.

  1. 취급할 정보의 종류를 결정한다.
    맛집, 평가, 회원 등등
    결정된 종류 각각이 모델 클래스가 됩니다.

  2. 각 정보의 속성을 정리한다.

  • 맛집
  • 주소
  • 위치
  • 명칭
  • 전화번호
  • 사진
  • 평가
  • 별점
  • 글쓴 시각
  • 글쓴 회원
  • 회원
  • 이메일
  • 닉네임
  1. 각 속성의 자료형을 결정한다.
  • 맛집
  • 주소(문자열)
  • 위치(위경도-부동소수점형)
  • 명칭(문자열)

2. Database란?

데이터베이스는 데이터를 저장하고 관리하고 조회하기 위한 시스템을 의미합니다.

당연히 우리가 웹 사이트를 만들때는 이 데이터베이스에 새로운 데이터를 저장하고 다시 저장된 정보들을 표시합니다.

Django에서는 이러한 정보 단위, 즉 모델 클래스를 Python 클래스로 선언하여 정의합니다.

이렇게 정의한 하나의 클래스가 하나의 테이블로 만들어지고 데이터베이스는 여러 개의 테이블로 구성됩니다.

위에서 든 예를 보면, 데이터베이스에는 맛집, 평가, 회원에 관한 테이블이 하나씩 존재합니다.

3. 정리

모델 클래스 (Python 클래스)

  • 어떤 형태의 정보가 다뤄지고 저장될 지를 정의.
  • 우리가 만들 쟝고 웹 앱 내에서 코드로 구현되고 웹앱이 구동되면서 실제 데이터베이스와 연동됨.

데이터베이스와 각 테이블

  • 실제 정의된 내용이 저장되는 장소.
  • 웹앱과는 독립적인 시스템
  • 파이썬 기반의 쟝고 웹 서버가 아니라 자바 서버나 노드 서버를 통해서도 각각의 웹 앱 프레임워크가 제공하는 방식으로 모델 클래스를 정의해서 데이터베이스 서버에 접속해서 데이터를 처리하는 것이 가능.
profile
devzunky@gmail.com

0개의 댓글