Django ORM은 데이터를 조회 → 수정 → 저장,
또는 조회 → 삭제하는 흐름이 아주 직관적입니다.
이번 글에서는 shell 환경에서 가장 기본적인 Update / Delete 예제를 살펴봅니다.
1. 데이터 수정(Update) 기본 흐름
1️⃣ 수정할 데이터 조회
from foods.models import Menu
data = Menu.objects.get(id=1)
<Menu: 코딩에 빠진 닭>
2️⃣ 필드 값 변경
data.name = "코빠닭"
<Menu: 코빠닭>
이 시점에서는 아직 DB에 반영되지 않음
→ 메모리 상의 객체만 변경된 상태
3️⃣ save()로 DB에 반영
data.save()
4️⃣ 전체 데이터 확인
Menu.objects.all()
<QuerySet [
<Menu: 코빠닭>,
<Menu: 너는 내게 빠나나>,
<Menu: 코데리아>
]>
save()를 호출해야 실제 DB에 반영됨
2. 데이터 삭제(Delete) 기본 흐름
1️⃣ 삭제할 데이터 조회
data = Menu.objects.get(id=3)
<Menu: 코데리아>
2️⃣ delete() 실행
data.delete()
(1, {'foods.Menu': 1})
첫 번째 숫자: 삭제된 레코드 수
두 번째 딕셔너리: 어떤 모델에서 삭제됐는지
3. Update / Delete 흐름 요약
조회(get / filter)
→ 객체 수정
→ save() (Update)
조회(get)
→ delete() (Delete)
4. 핵심 정리
- get()으로 하나의 객체 조회
- 필드 값 변경 후 반드시 save()
- 삭제는 delete() 한 줄이면 끝
- ORM은 SQL 없이도 CRUD 흐름을 자연스럽게 이해할 수 있음
'Django 프론트& 백엔드 개발' 카테고리의 다른 글
| [Model] 하드 코딩을 피하고, Django답게 화면 만들기 (0) | 2026.01.04 |
|---|---|
| [Model] Django 관리자(Admin) 생성과 모델 관리하기 (0) | 2026.01.04 |
| [Model] ORM 기본 조회 정리 (get / filter / order_by) (0) | 2026.01.04 |
| [Model] Django Shell로 데이터 직접 다뤄보기 (조회 & 추가) (0) | 2026.01.04 |
| [Model] Django Migration 개념 정리 (0) | 2026.01.04 |