Django

QuerySet avanzati

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

25 domande da colloquio·
Mid-Level
1

Quale lookup consente di filtrare gli oggetti in cui un campo contiene una stringa specifica, senza distinzione tra maiuscole e minuscole?

Risposta

Il lookup icontains esegue una ricerca senza distinzione tra maiuscole e minuscole per verificare se un campo contiene una sottostringa. Il prefisso 'i' in icontains indica che il confronto ignora maiuscole e minuscole, il che è utile per le ricerche degli utenti in cui la capitalizzazione può variare.

2

Qual è la differenza principale tra select_related e prefetch_related?

Risposta

select_related utilizza un JOIN SQL per recuperare gli oggetti correlati in un'unica query, ma funziona solo per le relazioni ForeignKey e OneToOne. prefetch_related esegue query separate e poi collega gli oggetti in Python, rendendolo adatto alle relazioni ManyToMany e reverse ForeignKey.

3

Quale oggetto Django consente di combinare condizioni di filtro con un operatore OR?

Risposta

I Q objects consentono di costruire query complesse combinando le condizioni con gli operatori | (OR), & (AND) e ~ (NOT). Senza i Q objects, le chiamate concatenate a filter() applicano solo condizioni AND, rendendo impossibile creare query OR direttamente.

4

Qual è il vantaggio principale dell'uso delle F() expressions invece dei valori Python in un aggiornamento?

5

Quale metodo di aggregation restituisce un dizionario con valori calcolati invece di un QuerySet?

+22 domande da colloquio

Padroneggia Django per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis