Jeg fandt ud af en måde, der passer til DB-motorer, der fungerer på begge måder (nul som højeste eller laveste værdi) ved at bruge extra
, hvilket gør null-kontrollen til en boolean, og når du sorterer booleaner false < true
synes at være universel:
qs = qs.extra(select={'null_start': "publish_start is null"},
order_by=['null_start', '-publish_start'])