[pyar] Django .update() con expresion F()

Luis Masuelli luismasuelli en hotmail.com
Jue Mayo 22 16:47:52 ART 2014


Hay alguna aplicacion externa que permita editar actualizar campos relacionados?

From: gaitan en gmail.com
Date: Thu, 22 May 2014 15:21:58 -0300
To: pyar en python.org.ar
Subject: Re: [pyar] Django .update() con expresion F()

2014-05-22 15:12 GMT-03:00 Tim Zenderman <tim en bananadesk.com>:


Hola Ariel! Si, el problema con hacer el for es que son 150.000 objetos y hay señales que se ejecutan con cada save entonces termina siendo muyyyy lento (muchas horas).
for entry in Entry.objects.all():



    entry.headline = entry.blog.name
    entry.save(update_fields=['headline'])



Eso no te sirve? sólo estás haciendo el update de ese campo (y no de todo lo que tenga el modelo Entry) y en tu receiver podés ignorar las señales post_save que vengan con este campo solo  (post_save manda  como argumento update_fields)



https://docs.djangoproject.com/en/dev/ref/signals/#post-save
si estás haciendo una consulta extra para traer los campos de entry.blog 


pero quizas podés optimizar un poquito más usando select_related

https://docs.djangoproject.com/en/dev/ref/models/querysets/#select-related



150mil instancias no suena mucho para meterse con raw_queries, creo que embarrarse las patas muy temprano. 

saludos



-- 
mgaitan.github.io
textosypretextos.com.ar




_______________________________________________
pyar mailing list pyar en python.org.ar
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140522/86977351/attachment.html>


More information about the pyar mailing list