[python] Django ORM을 사용한 데이터베이스 조작
Django는 데이터베이스 조작을 위한 강력한 ORM(Object-Relational Mapping)을 제공합니다. 이를 사용하여 SQL 쿼리를 직접 작성하지 않고도 데이터베이스를 조작할 수 있습니다.
모델 정의
Django에서 데이터베이스 테이블은 모델을 통해 정의됩니다. 예를 들어, 간단한 블로그 애플리케이션에서 포스트 모델을 정의하는 방법은 다음과 같습니다.
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
published_at = models.DateTimeField(auto_now_add=True)
위의 코드에서 Post
모델은 title
, content
, published_at
필드를 가지고 있습니다. 각 필드는 데이터베이스의 컬럼에 매핑되어 저장됩니다.
데이터 조회
Django ORM을 사용하여 데이터를 조회하는 방법은 다양합니다. 모든 포스트를 가져오는 예제는 다음과 같습니다.
all_posts = Post.objects.all()
특정 조건을 만족하는 데이터를 가져오는 예제는 다음과 같습니다.
recent_posts = Post.objects.filter(published_at__gte='2022-01-01')
데이터 추가
새로운 데이터를 추가하는 방법은 다음과 같습니다.
new_post = Post(title='새로운 포스트', content='내용')
new_post.save()
데이터 수정
기존의 데이터를 수정하는 방법은 다음과 같습니다.
post_to_update = Post.objects.get(pk=1)
post_to_update.title = '수정된 제목'
post_to_update.save()
데이터 삭제
데이터를 삭제하는 방법은 다음과 같습니다.
post_to_delete = Post.objects.get(pk=1)
post_to_delete.delete()
Django ORM을 사용하면 데이터베이스 조작이 간편해지고 가독성이 높아집니다. 데이터베이스와의 상호작용을 추상화하여 개발자가 보다 효율적으로 애플리케이션을 개발할 수 있습니다.
더 자세한 내용은 Django 공식 문서를 참고하세요.