¿Cuál es la diferencia entre select_related y prefetch_related en Django ORM?
En Django doc,
select_related()
"sigue" las relaciones de clave externa, seleccionando datos adicionales de objetos relacionados cuando ejecuta su consulta.
prefetch_related()
realiza una búsqueda por separado para cada relación y realiza la "unión" en Python.
¿Qué significa "hacer la unión en python"? ¿Alguien puede ilustrar con un ejemplo?
Entiendo que para una relación de clave extranjera, useselect_related
; y para la relación M2M, useprefetch_related
. ¿Es esto correcto?