Django

Zaawansowane QuerySets

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

25 pytań z rozmów·
Mid-Level
1

Który lookup pozwala filtrować obiekty, w których pole zawiera określony ciąg znaków, bez rozróżniania wielkości liter?

Odpowiedź

Lookup icontains wykonuje wyszukiwanie bez rozróżniania wielkości liter, aby sprawdzić, czy pole zawiera podciąg. Przedrostek 'i' w icontains oznacza, że porównanie ignoruje wielkość liter, co jest przydatne w wyszukiwaniach użytkowników, gdzie wielkość liter może się różnić.

2

Jaka jest główna różnica między select_related a prefetch_related?

Odpowiedź

select_related używa SQL JOIN do pobrania powiązanych obiektów w jednym zapytaniu, ale działa tylko dla relacji ForeignKey i OneToOne. prefetch_related wykonuje osobne zapytania, a następnie łączy obiekty w Pythonie, co czyni go odpowiednim dla relacji ManyToMany i reverse ForeignKey.

3

Który obiekt Django pozwala łączyć warunki filtra za pomocą operatora OR?

Odpowiedź

Q objects pozwalają budować złożone zapytania, łącząc warunki za pomocą operatorów | (OR), & (AND) i ~ (NOT). Bez Q objects łańcuchowe wywołania filter() stosują tylko warunki AND, co uniemożliwia bezpośrednie tworzenie zapytań OR.

4

Jaka jest główna zaleta używania F() expressions zamiast wartości Pythona w aktualizacji?

5

Która metoda aggregation zwraca słownik z obliczonymi wartościami zamiast QuerySet?

+22 pytań z rozmów

Opanuj Django na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo