[pyar] Consulta Django
Juan Antonio Alvarez
jualvarez en gmail.com
Jue Jul 27 17:40:39 ART 2017
2017-07-27 17:08 GMT-03:00 Sofi Denner <sofi.denner en gmail.com>:
> Si, esa parte ya la habia entendido. Y como podés ver, también, en el mail
> anterior: mi problema ya esta solucionado :)
> Mi nueva pregunta era solo de curiosidad para entender mejor como funciona
> el prefecht.
> Gracias igual por tu tiempo.
> Un abrazo!
>
Prefetch sirve para traer las relaciones externas de un objeto en una sola
consulta. No creo que aplique a esa línea de código particular.
Por ejemplo si tenés
Autor
Libro -> Autor
Cuando hacés algo como:
for libro in Libro.objects.all():
print(libro.autor.nombre)
Ahí hace una consulta nueva por cada iteración
En cambio si hicieras
for libro in Libro.objects.all().select_related('autor'):
print(libro.autor.name)
Lo resuelve todo en una sola consulta.
Prefetch es lo mismo, solo que para generic relations o relaciones inversas
(hace una consulta exra por cada prefetch, pero arma el objeto entero en
memoria en vez de traerlo para cada resultado del query original).
Saludos,
Juan
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20170727/195af737/attachment.html>
Más información sobre la lista de distribución pyar