: 객체 지향 프로그래밍 언어의 객체와 데이터베이스의 데이터를 매핑하는 기술 (개발자 친화적인 데이터베이스 인터페이스)
<aside> 💡
Django는 Python 문법만으로 데이터베이스와 대화할 수 있음
Django ORM 첫걸음
Python 클래스 → DB 레코드 전환 과정 이해하고, 객체 지향 코드만으로 데이터를 생성·조회·수정·삭제할 수 있음 </aside>
문제 상황 : Django는 python 언어를 사용하지만 데이터베이스는 SQL 언어를 사용함

⇒ ORM은 Django와 데이터베이스 사이에서 언어 번역자 역할을 수행함

QuerySet API라는 특별한 도구를 제공함: 데이터베이스의 복잡한 SQL 쿼리문을 직관적인 python 코드로 다룰 수 있게 해주는 강력한 번역기 역할
개발자는 SQL을 직접 작성하지 않고도 .filter(), .exclude(), .order_by() 등 파이썬 메서드를 사용해 원하는 데이터를 쉽게 생성·조회·수정·삭제할 수 있음.
OuerySet API & ORM 동작 방식

QuerySet API의 구문 기본 구조
Article (모델 클래스)
articles_article 테이블의 스키마(필드, 데이터 타입 등)를 정의하며, Django ORM이 데이터베이스와 상호작용할 때 사용하는 기본 구조체임.objects (매니저, manager)
.objects라는 이름의 매니저를 자동으로 추가하며, 이 매니저를 통해 .all(), .filter() 등의 쿼리 메서드를 호출함.all() (QuerySet API 메서드)
Query란?
QuerySet이란 ?
외부 라이브러리 설치 및 의존성 기록
IPython은 일반 파이썬 셀(명령창)보다 자동 완성 등 편리한 파이썬 작업 환경을 만들어주는 도구임pip install ipython
pip freeze > requirements.txt
Django Shell 접속하기 : Django Shell이란?
Django 프로젝트의 코드를 명령창에서 바로 실행하고 테스트하는 특별한 파이썬 환경임
Django 환경 내에서 실행되기 때문에 입력하는 QuerySet API 구문이 Django 프로젝트에 직접 영향 줌
Django Shell 접속하기
python manage.py shell
exit() 입력Shell "-v" 옵션 (기본값: 1)
python manage.py shell

: 대부분의 소프트웨어가 가지는 기본적인 데이터 처리 기능인 생성, 조회, 수정, 삭제를 묶어 이르는 말