Ergebnisse filtern, sortieren und begrenzen
Verwenden Sie filter_by, order_by und Pagination.
Ergebnisse filtern, sortieren und begrenzen ist eine kostenlose Flask Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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 Flask Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.
Ergebnisse mit filter_by eingrenzen
Verwenden Sie filter_by() mit Schlüsselwortargumenten, um nur Zeilen zu behalten, deren Spalten exakt übereinstimmen. Das liest sich fast wie Englisch. 🎯
admins = User.query.filter_by(role="admin").all()Mehr Möglichkeiten mit filter
Wenn Sie Vergleiche benötigen, verwenden Sie filter() und vollständige Spaltenausdrücke anstelle einfacher Gleichheitsvergleiche.
adults = User.query.filter(User.age >= 18).all()Bedingungen kombinieren
Übergeben Sie mehrere Ausdrücke an filter(). Sie werden mit AND verknüpft, daher müssen alle Bedingungen für eine passende Zeile erfüllt sein.
q = User.query.filter(User.age >= 18, User.active == True)OR-Bedingungen
Für eine Entweder-oder-Abfrage schließen Sie die Bedingungen in or_() ein. Eine Zeile passt dann, wenn mindestens eine der Bedingungen wahr ist.
from sqlalchemy import or_
q = User.query.filter(or_(User.age < 18, User.vip))Mit order_by sortieren
Verwenden Sie order_by(), um Ergebnisse nach einer Spalte zu sortieren. Standardmäßig werden die Zeilen in aufsteigender Reihenfolge zurückgegeben.
users = User.query.order_by(User.name).all()Die neuesten Einträge zuerst mit desc
Schließen Sie eine Spalte in desc() ein, um die Sortierreihenfolge umzukehren und die größten oder neuesten Werte oben anzuzeigen.
posts = Post.query.order_by(Post.created.desc()).all()Anzahl mit limit begrenzen
Fügen Sie limit() hinzu, um nur die ersten N Zeilen abzurufen. Dadurch bleiben Antworten klein und Abfragen schnell.
top = Post.query.order_by(Post.score.desc()).limit(5).all()Zeilen mit offset überspringen
Verwenden Sie offset(), um eine bestimmte Anzahl von Zeilen zu überspringen, bevor Ergebnisse zurückgegeben werden. Zusammen mit limit ermöglicht dies eine einfache Seitennavigation.
page2 = Post.query.limit(10).offset(10).all()Echte Seitennavigation mit paginate
Flask-SQLAlchemy bündelt die Seitennavigation in paginate(). Dieser Aufruf gibt die Elemente zusammen mit nützlichen Seitenmetadaten zurück.
p = Post.query.paginate(page=2, per_page=10)Alles miteinander verketten
Filter, Sortierung und Begrenzung lassen sich flüssig verketten; ausgeführt wird erst, wenn Sie mit all oder first abschließen.
q = Post.query.filter_by(public=True).order_by(Post.id.desc()).limit(3)Die Reihenfolge ist bei Limits entscheidend
Kombinieren Sie limit() immer mit order_by. Ohne Sortierung ist unvorhersehbar, welche Zeilen zurückgegeben werden.
Schnelltest
Sie möchten die drei Beiträge mit den höchsten Punktzahlen. Welche Klausel macht die Punktzahl zum ersten Ergebnis?
Zusammenfassung: Ergebnisse gestalten
Sie können jetzt filtern, mit order_by und desc sortieren und die Ausgabe mit limit, offset und paginate begrenzen. Leistungsstarke Abfragen sind jetzt möglich! 🚀
Lerne Python mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 30
- Lektionen
- 120
Häufig gestellte Fragen
Ist die Lektion „Ergebnisse filtern, sortieren und begrenzen“ kostenlos?
Ja — der vollständige Text von „Ergebnisse filtern, sortieren und begrenzen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Flask Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Ergebnisse filtern, sortieren und begrenzen“?
Verwenden Sie filter_by, order_by und Pagination. Du übst Flask 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 Flask Academy zu starten?
Keine Vorkenntnisse erforderlich. Flask 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 2 von 4.
Wie lange dauert die Lektion „Ergebnisse filtern, sortieren und begrenzen“?
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 Flask Academy-Lektion Code schreiben und ausführen?
Ja. Jede Flask 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
- Zeilen mit query und get abrufen
- Ergebnisse filtern, sortieren und begrenzen
- Beziehungen und Foreign Keys definieren
- Joins und Lazy- gegenüber Eager-Loading