[파이썬] Peewee Field 데이터 타입 이해

소개

Peewee는 Python에서 사용되는 간단하고 가벼운 ORM(Object-Relational Mapping) 라이브러리입니다. Peewee를 사용하면 데이터베이스와의 상호작용을 편리하게 처리할 수 있습니다. 이 글에서는 Peewee에서 사용되는 주요 데이터 타입인 Field에 대해 자세히 알아볼 것입니다.

Field 데이터 타입

Peewee의 Field는 데이터베이스 테이블의 열(column)을 표현하는 클래스입니다. Field 데이터 타입은 테이블의 열에 저장되는 데이터의 유형을 지정하는 역할을 합니다. 여러 가지 다양한 Field 데이터 타입이 있으며, 각각의 데이터 유형에 맞게 사용할 수 있습니다.

주요 Field 데이터 타입

  1. CharField: 문자열 데이터를 표현하는 필드입니다. 최대 길이를 지정할 수 있습니다. 예를 들어, CharField(max_length=50)은 최대 50자까지의 문자열을 저장할 수 있는 필드를 정의합니다.

  2. IntegerField: 정수 데이터를 표현하는 필드입니다. 예를 들어, IntegerField(default=0)은 기본값이 0인 정수를 저장하는 필드를 정의합니다.

  3. FloatField: 부동 소수점 숫자를 표현하는 필드입니다. 예를 들어, FloatField(default=0.0)은 기본값이 0.0인 부동 소수점 숫자를 저장하는 필드를 정의합니다.

  4. BooleanField: 불리언 값을 표현하는 필드입니다. 예를 들어, BooleanField(default=False)는 기본값이 False인 불리언 값을 저장하는 필드를 정의합니다.

  5. DateTimeField: 날짜와 시간을 표현하는 필드입니다. 예를 들어, DateTimeField(default=datetime.datetime.now)는 현재 날짜와 시간을 기본값으로 저장하는 필드를 정의합니다.

  6. TextField: 긴 텍스트 데이터를 표현하는 필드입니다. 예를 들어, TextField(null=True)는 Null 값을 허용하는 긴 텍스트 데이터를 저장하는 필드를 정의합니다.

예제 코드

다음은 Peewee를 사용하여 데이터 모델을 정의하는 예제 코드입니다. 필요에 따라 필드 데이터 타입을 선택하고, 추가적인 옵션을 설정할 수 있습니다.

from peewee import *

# 데이터베이스 연결 설정
db = SqliteDatabase('my_database.db')

# 데이터 모델 정의
class User(Model):
    username = CharField(max_length=20)
    age = IntegerField()
    email = CharField(unique=True)
    created_at = DateTimeField(default=datetime.datetime.now)

    class Meta:
        database = db

# 데이터베이스 테이블 생성
db.create_tables([User])

위의 코드에서는 User라는 데이터 모델을 정의하고, 각 필드에 해당하는 데이터 타입과 옵션을 설정하였습니다. 이후 db.create_tables([User])를 사용하여 데이터베이스 테이블을 생성합니다.

결론

Peewee의 Field 데이터 타입을 활용하면 데이터베이스 테이블의 열을 간단하게 정의할 수 있습니다. 필드 데이터 타입을 올바르게 선택하면 데이터의 타입과 유효성을 보장할 수 있으며, 효율적인 데이터 저장 및 검색을 가능하게 합니다. Peewee의 Field에 대해 이해하고 적절히 활용하여 데이터 모델을 구성해보세요!