Queryset-Sortierung: Angeben der Spaltensortierung für Django-ORM-Abfragen

Ich begann zu untersuchen, warum meine Django Model.objects.filter-Abfragen (condition = variable) .order_by (textcolumn) keine Objekte in der richtigen Reihenfolge liefern. Und fand heraus, dass es sich um ein Datenbankproblem (Postgresql) handelt.

In meiner früheren Frage (Postgresql-Sortierung sprachspezifischer Zeichen (Sortierung)Ich habe es herausgefunden (mit viel Hilfe vonzero323 Um es tatsächlich zum Laufen zu bringen, kann ich die Kollatierung pro Datenbankabfrage wie folgt festlegen:

SELECT nimi COLLATE "et_EE" FROM test ORDER BY nimi ASC;

Aber soweit ich sehen kann, akzeptiert order_by nur Feldnamen als Argumente.

Ich habe mich gefragt, ob es irgendwie möglich ist, diese Funktionalität auch um den Kollatierungsparameter zu erweitern. Ist es möglich, es irgendwie mit Mixins oder so zu hacken? Oder ist Feature Request die einzige Möglichkeit, dies jetzt zu tun?

Ich wünschte, es würde so etwas funktionieren:

Model.objects.filter(condition = variable).order_by(*fieldnames, collation = 'et_EE')

Edit1: Anscheinend bin ich nicht der Einzige, der danach fragt:https://groups.google.com/forum/#!msg/django-developers/0iESVnawNAY/JefMfAm7nQMJ

Alan

Antworten auf die Frage(2)

Ihre Antwort auf die Frage