[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 공식 문서를 참고하세요.