Django

QuerySets avancés

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

25 questions d'entretien·
Confirmé
1

Quel lookup permet de filtrer les objets dont un champ contient une chaîne spécifique, sans tenir compte de la casse ?

Réponse

Le lookup icontains effectue une recherche insensible à la casse pour vérifier si un champ contient une sous-chaîne. Le préfixe 'i' dans icontains indique que la comparaison ignore les majuscules/minuscules, ce qui est utile pour les recherches utilisateur où la casse peut varier.

2

Quelle est la principale différence entre select_related et prefetch_related ?

Réponse

select_related utilise un JOIN SQL pour récupérer les objets liés en une seule requête, mais fonctionne uniquement pour les relations ForeignKey et OneToOne. prefetch_related effectue des requêtes séparées puis lie les objets en Python, ce qui le rend adapté aux relations ManyToMany et reverse ForeignKey.

3

Quel objet Django permet de combiner des conditions de filtre avec un opérateur OR ?

Réponse

Les objets Q permettent de construire des requêtes complexes en combinant des conditions avec les opérateurs | (OR), & (AND) et ~ (NOT). Sans Q objects, les appels chaînés à filter() appliquent uniquement des conditions AND, rendant impossible la création de requêtes OR directement.

4

Quel est l'avantage principal d'utiliser F() expressions au lieu de valeurs Python dans une mise à jour ?

5

Quelle méthode d'agrégation retourne un dictionnaire avec les valeurs calculées au lieu d'un QuerySet ?

+22 questions d'entretien

Maîtrise Django pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement