Eu descobri uma maneira que acomoda mecanismos de banco de dados que funcionam de qualquer maneira (null como valor mais alto ou mais baixo) usando
extra , fazendo o null verificar um booleano, e ao classificar booleanos false < true parece ser universal:qs = qs.extra(select={'null_start': "publish_start is null"},
order_by=['null_start', '-publish_start'])