[파이썬] Peewee와 PostgreSQL 활용

소개

Peewee는 Python에서 가벼운 ORM(Object-Relational Mapping) 라이브러리로, 데이터베이스에 대한 쿼리 및 모델링 작업을 쉽게 처리할 수 있도록 도와줍니다. PostgreSQL은 강력한 오픈 소스 데이터베이스 관리 시스템으로, 데이터의 안정성과 확장성을 제공합니다. 이 블로그 포스트에서는 Peewee와 PostgreSQL을 함께 사용하는 방법에 대해 알아보겠습니다.

Peewee 설치

pip install peewee

PostgreSQL 설치 및 설정

  1. PostgreSQL 공식 웹사이트에서 다운로드를 통해 PostgreSQL을 설치합니다.
  2. 설치 후, 적절한 사용자 이름과 비밀번호를 설정합니다.

Peewee로 PostgreSQL 연결하기

from peewee import *

db = PostgresqlDatabase('your_database_name',
                        user='your_username',
                        password='your_password',
                        host='localhost',
                        port=5432)

위의 코드에서 your_database_name, your_username, your_password를 실제로 사용하는 데이터베이스 이름, 사용자 이름, 비밀번호로 대체해야 합니다.

모델 정의하기

class User(Model):
    username = CharField()
    email = CharField()
    
    class Meta:
        database = db

위의 예제에서는 User 모델을 정의하였습니다. 이 모델은 usernameemail 필드를 가지고 있으며, Meta 클래스에서 database 속성을 통해 연결할 데이터베이스를 지정합니다.

데이터베이스 생성 및 테이블 생성

db.connect()
db.create_tables([User])

위의 코드는 데이터베이스에 연결한 후, User 모델에 대해 테이블을 생성하는 코드입니다. 처음 실행할 때만 사용하면 됩니다.

데이터 쿼리 및 조작

데이터 추가하기

user = User(username='johndoe', email='johndoe@example.com')
user.save()

위의 예제에서는 새로운 유저를 생성하고 save() 메소드를 호출하여 데이터베이스에 저장합니다.

데이터 조회하기

users = User.select()
for user in users:
    print(user.username)

위의 코드는 모든 사용자를 조회하여 각 사용자의 이름을 출력하는 예제입니다.

데이터 필터링하기

users = User.select().where(User.username == 'johndoe')

위의 코드는 사용자 이름이 ‘johndoe’인 사용자를 조회하는 예제입니다.

데이터 업데이트하기

user = User.get(User.username == 'johndoe')
user.email = 'newemail@example.com'
user.save()

위의 코드는 ‘johndoe’ 사용자의 이메일을 변경하고 데이터베이스에 저장하는 예제입니다.

데이터 삭제하기

user = User.get(User.username == 'johndoe')
user.delete_instance()

위의 코드는 ‘johndoe’ 사용자를 삭제하는 예제입니다.

마무리

Peewee와 PostgreSQL을 함께 사용하면 데이터베이스 작업을 간편하게 처리할 수 있습니다. 이 블로그 포스트에서는 Peewee와 PostgreSQL을 설치하고 연결하는 방법, 모델을 정의하고 데이터를 조작하는 방법을 알아보았습니다. 이는 단순한 예제이지만, 실제 프로젝트에서도 동일한 원리로 사용할 수 있습니다. Peewee와 PostgreSQL을 통해 데이터베이스 관리를 용이하게 하고 개발 생산성을 높여보세요.