5.Django QuerySet
Django QuerySet
정렬 조건 추가
SELECT 쿼리에 “ORDER BY” 추가
-
정렬조건을 별도로 추가하지 않으면 일관된 순서를 보장받을 수 없음
-
DB에서 다수 필드에 대한 정렬을 지원
- 가급적 단일 필드로 하는 것이 성능에 이익
- 시간순 / 역순 정렬시, id 필드를 활용
정렬 조건 방법
- 모델 클래스의 Meta속성으로 ordering 설정 : list로 지정
class Item(models.Model):
name = models.CharField(max_length=100)
desc = models.TextField(blank=True)
price = models. PositiveIntegerField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
ordering = ['id']
- django-extensions 라이브러리 명령어
- 공식문서를 보고 활용 방법을 꼭 봐야함
- settings.py/INSTALLED_APPS에서 django_extensions 입력해야함
python manage.py shell_plus --print-sql
- 모든 queryset에 order_by(…)에 지정
댓글남기기