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

Tim Zenderman tim en bananadesk.com
Jue Mayo 22 15:12:06 ART 2014


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).


2014-05-22 13:55 GMT-04:00 Ariel Camino <arielcamino en gmail.com>:

> El 22/05/14 13:46, Tim Zenderman escribió:
> > Hola amig en s!
> >
> > En un proyecto de django, estoy necesitando hacer un UPDATE en una
> > tabla. Este update en particular llevaría una sintaxis de django asi:
> >
> >     Entry.objects.update(headline=F('blog__name'))
> >
> > donde la tabla Entry tiene FK a la tabla Blog. El problema es que django
> > no lo soporta: https://code.djangoproject.com/ticket/14104
> >
> > Aca va información sobre la expresión F() de
> > django:
> https://docs.djangoproject.com/en/dev/ref/models/queries/#f-expressions
> >
> > Se podrá hacer algo asi en SQL puro? Encontré este link
> > aca:
> http://stackoverflow.com/questions/12518560/django-update-table-using-data-from-another-table
> > pero no conosco suficiente de SQL...
> >
> > Alguna vez alguien tuvo que hacer algo asi? Como lo resolvieron?
> >
> > --
> > Best,
> > Tim Z
> > BananaDesk
> > bananadesk.com/ <http://bananadesk.com/>
> > <https://www.facebook.com/banana.desk.pms> <
> https://twitter.com/BananaDesk_en> <http://www.pinterest.com/bananadesk/>
> >
> >
> > _______________________________________________
> > 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
> >
>
> Hola Tim, si entendí bien, se me ocurren dos opciones, la obvia, lenta y
> objetosa:
>
> for entry in Entry.objects.all():
>     entry.headline = entry.blog.name
>
> la cruda, rápida y base dependiente:
>
> [...]
> cursor.execute('UPDATE tuapp_entry LEFT JOIN tuapp_blog ON
> tuapp_entry.blog_id=tuapp_blog.id SET tuapp_entry.headline=tuappblog.name
> ')
>
> algo así debería funcionar, no lo probé.
>
> Suerte!
> --
> Ariel Camino
> _______________________________________________
> 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
>



-- 
Best,
Tim Z
BananaDesk
bananadesk.com/
<https://www.facebook.com/banana.desk.pms> <https://twitter.com/BananaDesk_en>
  <http://www.pinterest.com/bananadesk/>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140522/e238aa2b/attachment.html>


More information about the pyar mailing list