PostgreSQL considera por defecto los valores NULOS como los más altos, y los ordena primero para las consultas descendentes y por último para los ascendentes.Cómo cambiar el comportamiento predeterminado de ordenación nula de PostgreSQL en el ORM de Django
Puede modificar este comportamiento por consulta o creación de índice especificando 'NULLS LAST' o 'NULLS FIRST'.
¿Cómo puedo usar esto junto con el ORM de Django, sin la necesidad de utilizar consultas sin formato? Es decir cuando agrego a mi query_set algo como qs.order_by("-publish_start")
, ¿cómo puedo especificar la ordenación de nulos? O, como alternativa, en declaración de campo/índice.
Vale la pena indicar (porque soy lento y me tomó un tiempo darme cuenta) que si quieres que los resultados sean primero con valores NULL y luego 'publish_start' ordenó ASCending, necesitas invertir la instrucción order_by: '['-null_start', 'publish_start']'. –
'extra' está desactivado, consulte http://stackoverflow.com/a/35494930/15690. – blueyed
@blueyed sí, eso es lo que tienen las respuestas de 4 años en desbordamiento de pila. Se vuelven obsoletos. No hay necesidad de rechazarlo por eso ... –