본문 바로가기
IT/Python

Django, model.py를 구현하고 DB에 변경사항 적용하기

by Cyber_ 2024. 4. 7.

0. Django에서 모델이란?

Django의 모델은 데이터베이스의 테이블을 Python 클래스로 표현한 것. 모델을 통해 데이터베이스에 저장할 데이터의 구조를 정의하고 Django의 ORG(Object-Relational Mapping)을 사용해 데이터베이스와 상호작용

1. Django 모델의 특징

  • ORM: Django는 강력한 ORM을 제공, SQL 쿼리를 작성하지 않고 데이터 베이스와 상호작용
  • 모델 필드: 다양한 종류의 필드 타입을 제공
  • 관계 정의: ForeignKey, ManyToManyField, 등을 통해 테이블 간 관계 정의
  • 관리자 인터페이스: Django의 관리자 인터페이스를 통해 모델 데이트를 쉽게관리
  • 검증: 모델 필드에 정의된 조건에 따라 데이터의 유요성 검증이 자동으로 수행
  • 마이그레이션 시스템: Django의 마이그레이션 시스템을 통해 모델 변경 사항을데이터베이스에 쉽게 반영하고 버전 관리

2. 모델 생성 과정

1) model.py

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    published_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

2) makemigrations

  • 명령어: python manage.py makemigrations <app_name>
  • 모델 변경 사항에 대한 마이그레이션 파일을 생성

3) migrate

  • 명령어: python manage.py migrate
  • 생성된 마이그레이션 파일을 DB에 적용