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로 변경해주면 됩니다.

+ Random Posts