Peewee는 Python에서 간단한 ORM(Object-Relational Mapping) 도구로 사용됩니다. 이번 포스트에서는 Peewee의 order_by()
메서드를 사용하여 데이터베이스에서 정렬하는 방법을 알아보겠습니다.
order_by()
메서드란?
order_by()
메서드는 Peewee 쿼리에서 결과를 정렬하는 데 사용됩니다. 이 메서드는 정렬할 필드를 인수로 받고 오름차순(asc) 또는 내림차순(desc) 순서로 정렬할 수 있습니다.
사용법
Peewee의 order_by()
메서드를 사용하여 데이터베이스에서 정렬을 수행하는 단계는 다음과 같습니다:
- 모델 클래스에서 적절한 필드를 선택합니다.
order_by()
메서드로 필드와 정렬 방향을 지정합니다.- 쿼리를 실행하고 결과를 확인합니다.
from peewee import *
db = SqliteDatabase('my_database.db')
class Person(Model):
name = CharField()
age = IntegerField()
class Meta:
database = db
# 나이 오름차순으로 정렬된 결과를 가져옴
query = Person.select().order_by(Person.age.asc())
for person in query:
print(person.name, person.age)
위의 예제에서는 Person
테이블에서 age
필드를 기준으로 오름차순 정렬을 수행합니다. asc()
메서드를 사용하여 오름차순으로 정렬되었음을 나타냅니다. 내림차순으로 정렬하려면 desc()
메서드를 사용하면 됩니다.
정렬 여러 필드
여러 필드를 기준으로 정렬하려면 order_by()
메서드에 여러 개의 필드를 전달하면 됩니다. 예를 들어, 먼저 age
필드로 정렬하고 그 후에 name
필드로 다시 정렬하려면 다음과 같이 사용할 수 있습니다:
// 나이 오름차순, 이름 내림차순으로 정렬된 결과를 가져옴
query = Person.select().order_by(Person.age.asc(), Person.name.desc())
위의 예제에서는 먼저 age
필드로 오름차순 정렬한 다음, 동일한 age
값이 있는 경우 name
필드로 내림차순 정렬합니다.
결론
Peewee의 order_by()
메서드는 데이터베이스에서 결과를 정렬하는 간단하고 유연한 방법을 제공합니다. 이를 통해 원하는 기준으로 데이터를 정렬하여 더 유용한 쿼리 결과를 얻을 수 있습니다.
더 많은 정보를 원하시거나 Peewee의 다른 기능을 알아보고 싶다면 Peewee 공식 문서를 참조해주세요.