[python] Django의 데이터베이스 모델 정의 방법은 어떻게 되는가?

Django는 강력한 데이터베이스 모델링 기능을 제공하여 데이터베이스 테이블을 정의하고 조작할 수 있습니다. 이를 통해 데이터베이스 스키마를 관리하고 데이터를 저장, 조회, 수정 및 삭제할 수 있습니다.

Django에서 데이터베이스 모델을 정의하려면 models.py 파일을 생성하고 다음과 같은 단계를 따라야 합니다.

  1. Django 모델 클래스 생성

데이터베이스 모델은 Django의 Model 클래스를 상속하여 생성됩니다. 모델 클래스는 데이터베이스 테이블의 필드 및 동작을 정의합니다. 아래는 간단한 예시입니다.

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=50)
    publication_date = models.DateField()

위 예시에서 Book은 데이터베이스의 테이블 이름이 됩니다. title, author, publication_date는 테이블의 필드이며, 각각 문자열(CharField) 및 날짜(DateField) 형식을 가지도록 정의되었습니다.

  1. 필드 정의

모델 클래스에서는 필드를 정의하여 데이터베이스 테이블에서 저장할 데이터 유형을 명시해야 합니다. Django는 다양한 필드 유형을 제공합니다. 일반적인 필드 유형에는 CharField, IntegerField, DateField, DateTimeField 등이 포함됩니다.

  1. 필드 옵션 추가

필드 옵션은 필드의 동작 및 제약 조건을 지정하는 데 사용됩니다. 예를 들어 필드의 최대 길이를 지정하거나, 필드의 값이 고유(unique)하도록 지정할 수 있습니다.

  1. 모델 클래스를 데이터베이스에 반영

데이터베이스 모델이 정의되면 Django의 마이그레이션(migration) 기능을 사용하여 실제 데이터베이스에 반영해야 합니다. 마이그레이션은 데이터베이스 스키마를 변경하는 작업을 추적하고 관리하는 도구입니다.

마이그레이션을 생성하려면 다음 명령을 실행합니다.

python manage.py makemigrations

그런 다음 마이그레이션을 데이터베이스에 적용하려면 다음 명령을 실행합니다.

python manage.py migrate

이제 정의한 데이터베이스 모델을 사용하여 데이터를 저장, 조회, 수정, 삭제할 수 있습니다.

더 자세한 내용은 Django 공식 문서(Django 공식 문서)를 참조하시기 바랍니다.