Django REST Framework/DRF 일반
[DRF] PostgreSQL에서 order_by로 한글 정렬 하기
bluebamus
2024. 1. 26. 01:04
- default로 만들어주는 데이터베이스의 collate가 en_US.UTF-8이기 때문에 발생하는 현상이다.
from django.db.models import Func
ko_kr = Func(
"field_name",
function="ko_KR.utf8",
template='(%(expressions)s) COLLATE "%(function)s"'
)
Foo.objects.all().order_by(ko_kr.asc()) # 오름차순
Foo.objects.all().order_by(ko_kr.desc()) # 내림차순
- field_name : 정렬할 칼럼 명 정의
- template에서 "%(function)s"에 사용되는 따옴표는 항상 큰따옴표여야 한다.
- reference :