Django에서 모델과 마이그레이션을 끝냈다면,
정말 DB에 잘 저장되고 조회되는지 확인해보고 싶어집니다.
이럴 때 사용하는 것이 바로 Django Shell입니다.
1. Django Shell 실행하기
터미널에서 아래 명령어를 실행합니다.
python manage.py shell
정상적으로 실행되면 Python 인터프리터가 열립니다.
Python 3.7.13
>>>
이 상태에서는 Django 환경이 모두 로드된 상태로
모델, ORM, 설정을 그대로 사용할 수 있습니다.
모델, ORM, 설정을 그대로 사용할 수 있습니다.
2. 모델 불러오기
먼저 우리가 만든 Menu 모델을 import 합니다.
from foods.models import Menu
3. 현재 데이터 조회하기
Menu.objects.all()
출력 결과:
<QuerySet []>
이 의미는?
Menu 테이블은 존재하지만, 아직 데이터가 하나도 없다는 뜻입니다.
4. 데이터 추가하기
이제 실제 데이터를 넣어보겠습니다.
1️⃣ create() 사용 (가장 간단)
Menu.objects.create(
name="코딩에 빠진 닭",
description="주머니가 가벼운 당신의 마음까지 생각한 가격!",
price=10000,
img_path="foods/images/chicken.jpg"
)
이 한 줄로:
- 객체 생성
- DB 저장
까지 한 번에 처리됩니다.
5. 다시 조회해보기
Menu.objects.all()
<QuerySet [<Menu: 코딩에 빠진 닭>]>
이제 DB에 데이터가 정상적으로 들어간 것을 확인할 수 있습니다.
6. 흐름 정리
모델 작성
↓
makemigrations
↓
migrate
↓
shell 실행
↓
데이터 직접 추가/조회
이 과정을 거치면
“DB가 실제로 어떻게 동작하는지” 감이 확 옵니다.
7. Django Shell을 쓰는 이유
- 관리자 페이지 없이 빠른 테스트
- View 만들기 전 데이터 구조 확인
- ORM 문법 연습
- 디버깅 & 실험용
Django Shell은
DB 실험실 같은 존재입니다.
8. 정리하면
- python manage.py shell → Django 환경 로드
- Model.objects.all() → 전체 조회
- Model.objects.create() → 데이터 생성
- QuerySet은 DB 결과를 담은 객체
Django Shell은
View와 Template 없이
DB와 ORM을 직접 대화할 수 있는 공간이다.
'Django 프론트& 백엔드 개발' 카테고리의 다른 글
| [Model] Django ORM으로 데이터 수정(Update)과 삭제(Delete)하기 (0) | 2026.01.04 |
|---|---|
| [Model] ORM 기본 조회 정리 (get / filter / order_by) (0) | 2026.01.04 |
| [Model] Django Migration 개념 정리 (0) | 2026.01.04 |
| [Model] 데이터 모델링과 마이그레이션 흐름 정리 (0) | 2026.01.04 |
| URL, View, Template의 관계 정리 (0) | 2026.01.04 |