본문 바로가기
멋사 2025/세션

3주차 세션 - Django의 DB (1)

by 젼젼39 2025. 3. 29.

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