Er is GEEN STANDAARD BESTELLING , een punt dat niet genoeg benadrukt kan worden omdat iedereen het verkeerd doet.
Een tabel in een database is geen gewone html-tabel, het is een ongeordende set tupels. Het verbaast vaak programmeurs die alleen aan MySQL gewend zijn, omdat in die specifieke database de volgorde van de rijen vaak voorspelbaar is omdat er geen gebruik wordt gemaakt van enkele geavanceerde optimalisatietechnieken. Het is bijvoorbeeld niet mogelijk om te weten welke rijen worden geretourneerd, of hun volgorde in een van de volgende zoekopdrachten:
select * from table limit 10
select * from table limit 10 offset 10
select * from table order by x limit 10
In de laatste query is de volgorde alleen voorspelbaar als alle waarden in kolom x uniek zijn. Het RDBMS is vrij om rijen in elke gewenste volgorde te retourneren, zolang het voldoet aan de voorwaarden van de select-instructie.
Hoewel je een standaardvolgorde op het Django-niveau kunt toevoegen, waardoor er een volgorde-per-clausule wordt toegevoegd aan elke niet-geordende zoekopdracht:
class Table(models.Model):
...
class Meta:
ordering = ['name']
Houd er rekening mee dat het prestatieverlies kan zijn als u om de een of andere reden geen geordende rijen nodig heeft.