Django

QuerySets avanzados

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

25 preguntas de entrevista·
Mid-Level
1

¿Qué lookup permite filtrar objetos cuyo campo contiene una cadena específica, sin distinguir mayúsculas y minúsculas?

Respuesta

El lookup icontains realiza una búsqueda sin distinción de mayúsculas y minúsculas para comprobar si un campo contiene una subcadena. El prefijo 'i' en icontains indica que la comparación ignora mayúsculas y minúsculas, lo cual es útil para búsquedas de usuario donde la capitalización puede variar.

2

¿Cuál es la principal diferencia entre select_related y prefetch_related?

Respuesta

select_related usa un JOIN SQL para recuperar objetos relacionados en una sola consulta, pero solo funciona para relaciones ForeignKey y OneToOne. prefetch_related realiza consultas separadas y luego enlaza los objetos en Python, lo que lo hace adecuado para relaciones ManyToMany y reverse ForeignKey.

3

¿Qué objeto de Django permite combinar condiciones de filtro con un operador OR?

Respuesta

Los Q objects permiten construir consultas complejas combinando condiciones con los operadores | (OR), & (AND) y ~ (NOT). Sin Q objects, las llamadas encadenadas a filter() solo aplican condiciones AND, lo que hace imposible crear consultas OR directamente.

4

¿Cuál es la principal ventaja de usar F() expressions en lugar de valores Python en una actualización?

5

¿Qué método de aggregation devuelve un diccionario con valores calculados en lugar de un QuerySet?

+22 preguntas de entrevista

Domina Django para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis