Django

Geavanceerde QuerySets

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

25 gespreksvragen·
Mid-Level
1

Welke lookup maakt het mogelijk om objecten te filteren waarbij een veld een specifieke tekenreeks bevat, hoofdletterongevoelig?

Antwoord

De icontains-lookup voert een hoofdletterongevoelige zoekopdracht uit om te controleren of een veld een substring bevat. Het voorvoegsel 'i' in icontains geeft aan dat de vergelijking hoofdletters negeert, wat handig is voor gebruikerszoekopdrachten waarbij het gebruik van hoofdletters kan variëren.

2

Wat is het belangrijkste verschil tussen select_related en prefetch_related?

Antwoord

select_related gebruikt een SQL JOIN om gerelateerde objecten in één query op te halen, maar werkt alleen voor ForeignKey- en OneToOne-relaties. prefetch_related voert afzonderlijke query's uit en koppelt vervolgens objecten in Python, waardoor het geschikt is voor ManyToMany- en reverse-ForeignKey-relaties.

3

Welk Django-object maakt het mogelijk om filtervoorwaarden te combineren met een OR-operator?

Antwoord

Q objects maken het mogelijk om complexe query's te bouwen door voorwaarden te combineren met de operatoren | (OR), & (AND) en ~ (NOT). Zonder Q objects passen geketende filter()-aanroepen alleen AND-voorwaarden toe, waardoor het onmogelijk is om rechtstreeks OR-query's te maken.

4

Wat is het belangrijkste voordeel van het gebruik van F() expressions in plaats van Python-waarden bij een update?

5

Welke aggregation-methode geeft een dictionary met berekende waarden terug in plaats van een QuerySet?

+22 gespreksvragen

Beheers Django voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis