[pyar] Django .update() con expresion F()
Martín Gaitán
gaitan en gmail.com
Jue Mayo 22 15:21:58 ART 2014
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 <http://textosyprextextos.com.ar>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140522/9d7047f5/attachment-0001.html>
More information about the pyar
mailing list