Django: QuerySet / Datenbank sortieren

Django, Flask, Bottle, WSGI, CGI…
Antworten
brave
User
Beiträge: 24
Registriert: Mittwoch 24. Februar 2016, 18:30

Hey Leute,

mein Model hat ein Charfeld "number". Ich möchte entweder ein geholtes Queryset oder noch lieber direkt auf dem Model-Level die Einträge aufsteigend sortieren. Das geht grundsätzlich, aber

Code: Alles auswählen

Project.objects.all().order_by('number')
als auch

Code: Alles auswählen

    
class Meta:
    ordering = [models.F('number').asc()]
    # oder
    ordering = ['number']
sortieren so:
10096 10102 10200 112 220 80300

und ich hätte gerne dir logische Sortierung:
112 220 10096 10102 10200 80300

Wie bekomme ich das hin?
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

Du hast halt keine Zahlen sondern Zeichenketten. Warum, wenn es doch Zahlen sind? Wie sieht denn Dein Model aus?
brave
User
Beiträge: 24
Registriert: Mittwoch 24. Februar 2016, 18:30

OK, ich habe das Feld jetzt in ein PositiveIntegerField() geändert, dann geht es.
Ich hatte einfach Charfied genommen, da ich mit den Zahlen eh nicht rechne und dachte es ist dann egal.

Danke für den Tipp.
Antworten