1. SQLite
- Django에서는 RDBMS인 SQLite를 제공
db.sqlite3 파일에 데이터가 저장됨 - 확장 프로그램으로 vs code에서도 확인 가능!
2. models.py
: MTV 패턴의 M을 담당하는 파일
(MTV 패턴은 아래 게시글에서 설명함)
2주차 세션 - Django 개념
Django: 파이썬으로 작성된 오픈소스 웹 풀스택 프레임워크(+) 라이브러리를 통한 빠른 개발 속도(+) Admin 인터페이스를 통해 데이터베이스의 CRUD 작업 쉽게 수행 가능(+) 프로젝트-앱으로 모듈화된
sugapowderjj.tistory.com
- models.py 파일 내에 클래스형으로 데이터 모델을 만들면 Django가 ORM을 통해 DB에 테이블을 생성함
*Django의 필드 종류
필드타입 | 필수 옵션 | 설명 |
AutoField | - | 자동으로 증가되는 Integer Field //따로 명시하지 않으면 id필드가 자동으로 추가됨 |
BooleanField | - | T/F 값을 가지는 필드 |
CharField | max_length | 문자열 데이터를 저장하는 필드 (max_length를 반드시 지정할 것) |
TextField | - | 글자 수 제한이 없는 문자열 데이터를 저장하는 필드 (max_length 값을 지정하면 폼에서는 제한이 되지만, 데이터베이스에는 영향 X) |
DateField | - | datetime.date 인스턴스로 표현되는 날짜 데이터를 저장하는 필드 |
DateTimeField | - | datetime.datetime 인스턴스로 표현되는 날짜와 시간 데이터를 저장하는 필드 |
FloatField | - | Python의 float와 같은 실수 데이터를 저장하는 필드 |
IntegerField | - | Python의 integer과 같은 정수 데이터를 저장하는 필드 |
ImageField | 이미지 파일을 저장하는 필드 ('media' 폴더에서 따로 관리됨) |
- 이외의 필드 : Model field reference | Django documentation | Django
Model field reference | Django documentation
The web framework for perfectionists with deadlines.
docs.djangoproject.com
3. migrate
: Django에서 모델에 적용한 변경 사항(필드 추가, 모델 삭제 등)을 데이터베이스 스키마에 적용하는 것
자세한 설명 : Migrations | Django documentation | Django
Migrations | Django documentation
The web framework for perfectionists with deadlines.
docs.djangoproject.com
python manage.py makemigrations
- 앱 내에 migration 폴더를 생성, models.py의 변경사항을 저장
(모델에서 수정사항 발생 시 해당 명령어를 먼저 입력해야 migrate가 적용됨)
python manage.py migrate
- migration 폴더를 실행시켜 데이터베이스에 적용함
4. ORM
: Object Relational Mapping
- 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것
- 객체 간의 관계를 바탕으로 SQL을 자동으로 생성, 쿼리문 없이도 데이터베이스의 데이터를 다룰 수 있게 함
- 개발자가 객체 지향적인 방식으로 데이터베이스를 조작할 수 있게 함
- 데이터베이스 설계 변경 시에도 유연하게 대응할 수 있게 하여 애플리케이션의 확장성과 유지보수성 향상
참고자료 : 백엔드 개발자를 위한 ORM(Object-Relational Mapping) 이해하기
백엔드 개발자를 위한 ORM(Object-Relational Mapping) 이해하기
ORM(Object-Relational Mapping)은 객체 지향 프로그래밍과 관계형 데이터베이스 사이의 불일치를 해결하는 기술입니다. 이 글에서는 ORM의 정의, 주요 기능, 장점 및 사용 시 고려해야 할 사항에 대해 설
f-lab.kr
5. QuerySet
: Django ORM에서 제공하는 데이터 타입. 데이터베이스에서 전달받은 객체 목록
- QuerySet의 구조는 list와 같지만, 파이썬의 기본 자료구조가 아니므로 파이썬에서 읽고 쓰기 위해 자료형 변환이 필요
[Django] QuerySet 메소드 정리 (2) - CRUD
[Django] QuerySet 메소드 정리 (2) - CRUD
QuerySet 이란? Django ORM에서 제공하는 데이터 타입으로, 데이터베이스에서 전달받은 객체 목록이다. 구조는 list와 같지만, 파이썬의 기본 자료구조가 아니기 때문에 파이썬 파일에서 읽고 쓰기 위
devvvyang.tistory.com
'멋사 2025 > 세션' 카테고리의 다른 글
2주차 세션 - Django 설치 및 사용 (0) | 2025.03.19 |
---|---|
2주차 세션 - Django 개념 (0) | 2025.03.19 |