PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So ändern Sie das standardmäßige Null-Sortierverhalten von PostgreSQL im Django ORM

Ich habe einen Weg gefunden, der DB-Engines berücksichtigt, die in beide Richtungen funktionieren (Null als höchster oder niedrigster Wert), indem ich extra verwende , wodurch die Nullprüfung zu einem booleschen Wert wird, und beim Sortieren von booleschen Werten false < true scheint universell zu sein:

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