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에 적용
'IT > Python' 카테고리의 다른 글
Django, 탬플릿 태그를 활용하여 DB에 등록된 데이터 출력 및 페이징네이션 (1) | 2024.04.07 |
---|---|
Django, forms를 활용하여 사용자로부터 데이터 수집하기ModelForm (0) | 2024.04.07 |
Django, 함수 기반 뷰(FBV), 클래스 기반 뷰 호출(CBV)의 차이 (1) | 2024.04.07 |
Django에서 URLConf를 사용하여 Projcet와 App의 URL을 연결 (0) | 2024.04.07 |
Django, Django 프로젝트의 환경 및 구성 설정을 담고 있는 중요한 파일 settings.py (0) | 2024.04.07 |