Django 프론트& 백엔드 개발

[Model] Django Shell로 데이터 직접 다뤄보기 (조회 & 추가)

Data Jun 2026. 1. 4. 15:40

Django에서 모델과 마이그레이션을 끝냈다면,
정말 DB에 잘 저장되고 조회되는지 확인해보고 싶어집니다.
이럴 때 사용하는 것이 바로 Django Shell입니다.

 

1. Django Shell 실행하기

터미널에서 아래 명령어를 실행합니다.

python manage.py shell

정상적으로 실행되면 Python 인터프리터가 열립니다.

Python 3.7.13
>>>
이 상태에서는 Django 환경이 모두 로드된 상태
모델, 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을 직접 대화할 수 있는 공간이다.