[pyar] Django .update() con expresion F()
Ariel Camino
arielcamino en gmail.com
Jue Mayo 22 14:55:43 ART 2014
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
More information about the pyar
mailing list