0Pricing
Django Academy · Lektion

order_by, Slicing und Lazy Evaluation

Sortieren und begrenzen Sie Abfragen und verstehen Sie, wann sie die Datenbank erreichen.

order_by, Slicing und Lazy Evaluation ist eine kostenlose Django Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Django Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Django Academy-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Put Rows in Order

Database rows have no guaranteed order. Call order_by() to sort a QuerySet by any field you choose.

Book.objects.order_by("title")

Sort Descending

Put a minus sign in front of a field name to reverse the order, so the largest or newest value comes first.

Book.objects.order_by("-year")

Sort by Several Fields

Pass multiple fields to order_by() and Django sorts by the first, then breaks ties with the next.

Book.objects.order_by("author", "-year")

Take the Top Few

Slicing a QuerySet with Python syntax limits how many rows you fetch, perfect for a top-five list.

Book.objects.order_by("-year")[:5]

Slice a Window

Give slicing a start and stop to grab a middle chunk. Django turns it into LIMIT and OFFSET for you. ✂️

Book.objects.all()[10:20]

No Negative Slicing

You cannot use a negative index on a QuerySet. To get the last rows, reverse the order first, then slice.

Book.objects.order_by("-id")[:1]

Queries Are Lazy

Building a QuerySet does not touch the database. Django stays lazy and waits until you really need the data.

qs = Book.objects.filter(published=True)

What Triggers a Query

Evaluation happens when you loop, call list(), or check the length. That moment is when SQL finally runs.

for book in qs:
    print(book.title)

Build Now, Run Later

Laziness lets you chain filters across many lines, and Django still sends just one combined query at the end.

qs = Book.objects.filter(year__gte=2020).order_by("title")

Caching the Results

Once a QuerySet is evaluated, Django caches the rows. Reusing the same variable avoids hitting the database twice.

Slicing Stays Lazy

An unevaluated slice is still lazy, so the LIMIT is added to the SQL instead of trimming rows in Python.

top = Book.objects.order_by("-year")[:3]

Quick Check

You build a filtered QuerySet but never loop or list it. When does the SQL run?

Recap

You did it! order_by() sorts, slicing limits rows in SQL, and lazy evaluation means queries run only when used. ⚡

Häufig gestellte Fragen

Ist die Lektion „order_by, Slicing und Lazy Evaluation“ kostenlos?

Ja — der vollständige Text von „order_by, Slicing und Lazy Evaluation“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Django Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Django Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „order_by, Slicing und Lazy Evaluation“?

Sortieren und begrenzen Sie Abfragen und verstehen Sie, wann sie die Datenbank erreichen. Du übst Django Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Django Academy zu starten?

Keine Vorkenntnisse erforderlich. Django Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „order_by, Slicing und Lazy Evaluation“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Django Academy-Lektion Code schreiben und ausführen?

Ja. Jede Django Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. all(), get() und filter()
  2. Feld-Lookups und exclude()
  3. order_by, Slicing und Lazy Evaluation
  4. values, values_list und count
← Zurück zu Django Academy