유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

Django - Models, Databases and Migrations

BugBytes

2025. 7. 14.

0

#backend
#db
  • Django 모델은 데이터베이스 통합의 핵심 요소로, models.py 파일에서 정의되며 데이터베이스 테이블과 직접적으로 연결됩니다. 🔗
  • 데이터베이스는 전자적으로 저장된 구조화된 데이터 컬렉션으로, 일반적으로 행과 열을 가진 2D 테이블 형태로 데이터를 저장합니다. 🗄️
  • Django는 관계형 데이터베이스에 최적화된 프레임워크이며, settings.pyDATABASES 설정을 통해 데이터베이스 연결을 관리합니다. 🛠️
  • 개발 단계에서는 Python 표준 라이브러리에 포함된 간단한 파일 기반 SQLite를 사용하지만, 실제 서비스(프로덕션)에서는 Postgres, MySQL 등 확장성 있는 데이터베이스가 권장됩니다. 📈
  • python manage.py migrate 명령은 설치된 앱의 모든 마이그레이션을 데이터베이스에 적용하여, 모델 변경 사항을 실제 데이터베이스 테이블에 반영하고 초기 테이블을 생성합니다. 🔄
  • Django 모델은 데이터에 대한 단일하고 명확한 정보원이며, Ruby on Rails나 Laravel과 달리 마이그레이션 파일이 모델 정의로부터 자동으로 생성됩니다. ✨
  • 모델 클래스는 models.Model을 상속받아 정의하며, CharField, DateTimeField, IntegerField 등 다양한 필드 타입을 사용하여 컬럼의 데이터 유형과 제약 조건을 지정합니다. ✍️
  • ForeignKey 필드는 두 모델 간의 관계(예: Question과 Choice)를 설정하며, on_delete 옵션은 참조 무결성을 유지하기 위한 필수적인 삭제 정책을 정의합니다. 🤝
  • 앱 활성화는 settings.pyINSTALLED_APPS에 앱의 config 클래스를 추가하는 것으로 시작하며, 이후 makemigrations로 마이그레이션 파일을 생성하고 migrate로 데이터베이스에 적용합니다. 🚀
  • Django는 앱 이름과 모델 이름을 조합하여 데이터베이스 테이블 이름을 생성합니다 (예: polls_question, polls_choice). 🏷️

Recommanded Videos