본문 바로가기

Django

Django DB(데이터베이스) 테이블 설정하기

728x90

데이터베이스 테이블 생성

  • 웹 페이지에서 사용자가 입력하는 데이터를 DB에 저장하기 위한 작업
  • Django 애플리케이션 내부 models.py를 이용하여 데이터베이스 스키마 생성
  • models.py 각 클래스는 데이터베이스 테이블

데이터베이스 테이블 생성 절차

  1. 모델 클래스 정의
  2. 데이터베이스 반영
  3. 데이터베이스 확인

모델 클래스 정의

# AppNames/models.py

from django.db import models

class AppName(models.Model):
	title = models.CharField(max_length=30)
	content = models.TextField
	created_at = models.DateTimeField(auto_now_add=True)
	updated_at = models.DateTimeField(auto_now=True)
  • models 모듈의 Model 클래스 상속 받아 클래스 정의
  • class명 작명 규칙
    1. 단수형 단어로 작성
    2. 첫 글자는 대문자로 작성
  • 원하는 데이터베이스 테이블 구성대로 class 작성
  • 클래스 필드 형태 정의
  • models의 필드 종류를 사용해 정의 가능
  • 각 필드에 따라 괄호 속 추가 내용 작성 필요할 수 있음
    • max_length : 입력 가능한 최대 길이 (CharField 필수 요소)
    • auto_now_add : 글 add 시 날짜 및 시간 자동 저장 등

데이터베이스 반영

데이터베이스 반영 과정

  1. (최초 1회) Pillow install
  2. makemigrations
  3. migrate

 
Pillow install

$ pip install Pillow
  • 마이그레이션 작업 전, 최초 1회 Pillow install 과정 필요

 
데이터베이스 설계도 생성

$ python manage.py makemigrations
$ python manage.py migrate
  • makemigrations : 데이터베이스의 테이블 설계도 생성 작업
  • migrate : 생성 설계도를 실제 데이터베이스에 업로드
  • 해당 작업들 이후 모델에 변동 발생 시 다시 두 작업 진행 필수

데이터베이스 확인

  • 데이터 베이스를 열어 확인 가능
  • 데이터 입력 시, 작성한 테이블에 맞게 채워진 데이터 확인 가능