PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment modifier le comportement de tri nul par défaut de PostgreSQL dans Django ORM

J'ai trouvé un moyen qui s'adapte aux moteurs de base de données qui fonctionnent dans les deux sens (null comme valeur la plus élevée ou la plus basse) en utilisant extra , en faisant de la vérification null un booléen, et lors du tri des booléens false < true semble être universel :

qs = qs.extra(select={'null_start': "publish_start is null"},
              order_by=['null_start', '-publish_start'])