상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 파이썬 장고의 ORM(Object-Relational Mapping) 기능을 사용하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
# <a href='https://sangseek.com/sangseeks/Django ORM/ko'>Django ORM</a>(Object-Relational Mapping) 사용법Django는 강력한 웹 프레임워크로, 데이터베이스와의 상호작용을 쉽게 해주는 ORM(Object-Relational Mapping) 기능을 제공합니다. ORM을 사용하면 SQL 쿼리를 직접 작성하지 않고도 데이터베이스 작업을 수행할 수 있습니다. 이 글에서는 Django ORM의 기본 사용법을 소개하겠습니다.## 1. Django 프로젝트 설정먼저 Django 프로젝트를 생성하고 데이터베이스를 설정해야 합니다.```bashdjango-admin startproject myprojectcd myprojectpython manage.py startapp myapp````settings.py` 파일에서 데이터베이스 설정을 확인하고 필요한 경우 수정합니다. 기본적으로 <a href='https://sangseek.com/sangseeks/SQLite/ko'>SQLite</a> 데이터베이스가 설정되어 있습니다.## 2. 모델 정의ORM의 핵심은 모델입니다. 모델은 데이터베이스 테이블을 정의하는 클래스입니다. `models.py` 파일에서 모델을 정의합니다.```python# myapp/models.pyfrom django.db import modelsclass Post(models.Model): title = models.CharField(max_length=200) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return self.title```위의 예제에서 `Post` 모델은 제목, 내용, 생성일자를 포함하는 블로그 포스트를 나타냅니다.## 3. 데이터베이스 마이그레이션모델을 정<a href='https://sangseek.com/sangseeks/의한/ko'>의한</a> 후에는 데이터베이스에 반영해야 합니다. 이를 위해 마이그레이션을 생성하고 적용합니다.```bashpython manage.py makemigrations myapppython manage.py migrate```이 명령어는 모델에 기반하여 데이터베이스 테이블을 생성합니다.## 4. 데이터 생성이제 ORM을 사용하여 데이터베이스에 데이터를 추가할 수 있습니다. Django의 쉘을 사용하여 데이터를 생성해보겠습니다.```bashpython manage.py shell```쉘에서 다음과 같이 입력합니다.```pythonfrom myapp.models import Post# 데이터 생성post = Post(title='첫 번째 포스트', content='이것은 첫 번째 포스트의 내용입니다.')post.save()````save()` 메서드를 호출하여 데이터베이스에 객체를 저장합니다.## 5. 데이터 조회데이터를 조회하는 방법도 매우 간단합니다. 다음과 같은 방법으로 데이터를 가져올 수 있습니다.```python# 모든 포스트 조회posts = Post.objects.all()# 특정 조건에 맞는 포스트 조회first_post = Post.objects.get(id=1)# 제목에 '첫 번째'가 포함된 포스트 조회filtered_posts = Post.objects.filter(title__contains='첫 번째')```## 6. 데이터 <a href='https://sangseek.com/sangseeks/수정기/ko'>수정기</a>존 데이터를 수정하는 것도 간단합니다. 객체를 가져온 후 속성을 변경하고 `save()` 메서드를 호출하면 됩니다.```pythonpost = Post.objects.get(id=1)post.title = '수정된 포스트 제목'post.save()```## 7. 데이터 삭제데이터를 삭제하려면 `delete()` 메서드를 사용합니다.```pythonpost = Post.objects.get(id=1)post.delete()```## 8. Django Admin 사용Django는 기본적으로 Admin 패널을 제공합니다. 모델을 Admin에 등록하면 웹 인터페이스를 통해 데이터를 쉽게 관리할 수 있습니다.```python# myapp/admin.pyfrom django.contrib import adminfrom .models import Postadmin.site.register(Post)```이제 Admin 패널에 로그인하여 `Post` 모델을 관리할 수 있습니다.## 결론Django의 ORM은 데이터베이스와의 상호작용을 매우 간편하게 만들어줍니다. SQL 쿼리를 직접 작성할 필요 없이 Python 코드로 데이터베이스 작업을 수행할 수 있습니다. 이 글에서 소개한 기본적인 사용법을 바탕으로 더 복잡한 쿼리와 관계형 데이터베이스 작업을 수행해보세요. Django ORM의 강력한 기능을 활용하여 효율적인 웹 애플리케이션을 개발할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기