[pyar] [django] Duda con signals y m2m

Juan Carizza juan.carizza en gmail.com
Mar Oct 11 14:26:40 ART 2016


La idea es mas o menos esta
http://linkode.org/LuC5A0Up8FzqyRYSSKXSQ/nCxYRsbLAxELjWP18nFaP5





El mar., 11 oct. 2016 a las 13:18, Varela Matias (<matu.varela en gmail.com>)
escribió:

> Si, luego del save a super, no están aún las relaciones relacionadas. Por
> eso probé con el signal.
>
> Este modelo es una notificación, el m2m es las áreas a las cuales
> notificar. Si se seleccionaron, se flltran los usuarios, si no se
> seleccionó ninguna, se notifica a todos. Por eso, es necesario comprobarlo
> en un momento donde esté todo guardado y relacionado.
>
>
> El mar., 11 oct. 2016 a las 13:10, Alessandro Odetti (<aodetti en gmail.com>)
> escribió:
>
> Juan, estoy un 95% seguro sin probarlo en este instante, de que no podes
> hacer un model.elfieldm2m.add(modelrelacionado), antes de que hagas el
> save del propio "model", ya que necesitas el id para generar las
> relaciones.
>
> El 11 de octubre de 2016, 13:03, Varela Matias <matu.varela en gmail.com>
> escribió:
>
> Hola Alessandro,
> Siempre se debe ejecutar el método después de guardar, en él se decide que
> hacer dependiendo de la existencia o no de relaciones m2m. No sirve
> bindearlo a ambos signals, ya que en el post_save no sé de sus relaciones,
> y en el m2m_changed no se dispará si no las hay.
>
> Hola Juan,
> esto es lo primero que hice, pero en el save no tenia aún las relaciones
> m2m. Lo voy a probar nuevamente, no recuerdo bien que pasaba.
>
> Gracias a ambos
>
> El mar., 11 oct. 2016 a las 12:41, Alessandro Odetti (<aodetti en gmail.com>)
> escribió:
>
> Hola creo que deberías brindar un poco mas de info acerca de que es lo que
> haces después del save y en cuando debe y cuando no ser ejecutado.
> Por ejemplo, cuando es necesario ejecutarlo si no tiene otros modelos
> relacionados, o cuando es necesario ejecutarlo solo si tiene relaciones, o
> si el método se pudiera ejecutar en ambos casos, bindeandolo tanto al
> m2m_changed como al post_save...
>
>
>
> El 11 de octubre de 2016, 12:17, Varela Matias <matu.varela en gmail.com>
> escribió:
>
> Buenas, tengo este problema:
>
> Necesito llamar a un método de un modelo de django luego de que este se
> guarda. Este modelo tiene un m2m a otro, por lo que bindee al signal
> m2m_changed para que se ejecute ese método (el post_save no me sirve porque
> aún no tiene las relaciones m2m guardadas)
>
> El tema es que puede no tener relaciones mediente ese m2m, por lo que ese
> signal nunca se dispara.
>
> Se me ocurrió añadir un task en celery para que ejecute ese método luego
> de que todo está guardado, y creo que funcionaría, pero quizás habia alguna
> forma de hacer esto sin celery.
>
> ¿Hay manera de llamar a un método luego de que TODO es salvado en la db?
> ¿se les ocurre otra forma más "djangera" de hacer esto?
>
> Saludos y gracias de antemano
>
>
> _______________________________________________
> 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
>
>
>
>
> --
> *- Alessandro Odetti -   *
> _______________________________________________
> 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
>
>
> _______________________________________________
> 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
>
>
>
>
> --
> *- Alessandro Odetti -   *
> _______________________________________________
> 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
>
> _______________________________________________
> 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/20161011/9d7154dd/attachment.html>


Más información sobre la lista de distribución pyar