Django

Erweiterte QuerySets

Lookups, Q objects, F expressions, aggregation, annotations, select_related, prefetch_related

25 Interview-Fragen·
Mid-Level
1

Welcher Lookup ermöglicht das Filtern von Objekten, bei denen ein Feld eine bestimmte Zeichenkette enthält, ohne Berücksichtigung der Groß-/Kleinschreibung?

Antwort

Der icontains-Lookup führt eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung durch, um zu prüfen, ob ein Feld eine Teilzeichenkette enthält. Das Präfix 'i' in icontains zeigt an, dass der Vergleich die Groß-/Kleinschreibung ignoriert, was für Benutzersuchen nützlich ist, bei denen die Schreibweise variieren kann.

2

Was ist der Hauptunterschied zwischen select_related und prefetch_related?

Antwort

select_related verwendet einen SQL JOIN, um verwandte Objekte in einer einzigen Abfrage abzurufen, funktioniert aber nur für ForeignKey- und OneToOne-Beziehungen. prefetch_related führt separate Abfragen aus und verknüpft dann die Objekte in Python, was es für ManyToMany- und reverse-ForeignKey-Beziehungen geeignet macht.

3

Welches Django-Objekt ermöglicht das Kombinieren von Filterbedingungen mit einem OR-Operator?

Antwort

Q objects ermöglichen den Aufbau komplexer Abfragen, indem Bedingungen mit den Operatoren | (OR), & (AND) und ~ (NOT) kombiniert werden. Ohne Q objects wenden verkettete filter()-Aufrufe nur AND-Bedingungen an, wodurch es unmöglich wird, OR-Abfragen direkt zu erstellen.

4

Was ist der Hauptvorteil der Verwendung von F() expressions anstelle von Python-Werten bei einem Update?

5

Welche Aggregationsmethode gibt ein Dictionary mit berechneten Werten anstelle eines QuerySets zurück?

+22 Interview-Fragen

Meistere Django für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten