-
[Django] ORM으로 Order by 에 null first, last 기능 구현언어/파이썬 & 장고 2018. 7. 14. 23:30
Postgresql에서는 order by 부분에 null값이 가장 먼저 나올지, 나중에 나올지 설정할 수 있습니다.
order by의 예는 아래와 같습니다.
SELECT name FROM test ORDER BY name DESC NULLS FIRST;
해당 쿼리는 name 컬럼에 null값인 행을 가장 앞으로 정렬하게되는 쿼리입니다.
아래는 위 쿼리를 Django ORM으로 똑같이 표현한 예입니다.
from django.db.models import F Test.objects.order_by(F('name').desc(nulls_first=True))
null값을 가장 뒤로 보내고 싶으면 nulls_first 부분을 nulls_last로 변경해주면 됩니다.