[pyar] DjangoPregunta! Al post_save signal de django no le creo nada :P

Emiliano Dalla Verde Marcozzi edvm en airtrack.com.ar
Mar Jul 26 17:49:30 ART 2011


El 26 de julio de 2011 17:43, Daniel Moisset <dmoisset en machinalis.com>escribió:

> 2011/7/26 Emiliano Dalla Verde Marcozzi <edvm en airtrack.com.ar>
>
>> El 26 de julio de 2011 16:59, Emiliano Dalla Verde Marcozzi <
>> edvm en airtrack.com.ar> escribió:
>>
>> Buenas querida lista!
>>>
>>> Les comento, tengo la siguiente clase en mi models.py:
>>>
>>> class Incidencia(models.Model):
>>>
>>>  (...)
>>>
>>> notificar_a_usuarios = models.ManyToManyField(User, blank=True,
>>> null=True,
>>> @receiver(post_save)
>>>
>>> def notify_by_email(sender, **kwargs):
>>>
>>>  if not sender in [Incidencia]:
>>>
>>> return
>>>
>>>
> Hola,
>    lo que esta pasando es que agregar usuarios no hace save() sobre una
> incidencia
>
> Cuando creas la incidencia por primera vez en el admin, se hace lo
> siguiente
>
> 1) Se crea la Incidencia, sin usuarios asociados, y se guarda con save()
> (esto dispara la signal que capturas)
> 2) Se crean las asociaciones con usuarios (filas en la relacion auxiliar
> para la ManyToMany), haciendosele save a cada una de estas filas
>
> Fijate que el primer save() si o si django tiene que hacerlo antes de
> asociar usuarios; sino tu Incidencia no tiene clave primaria, con la cual no
> la podes asociar a otra cosa en un manytomany
>
> Ademas fijate que agregar cosas a una ManyToMany crea filas en una tabla
> auxiliar, con lo cual las modificaciones que hagas en un manytomany son
> independientes del save()
>
> Dicho esto, lo que te sugeriria es: hace que la M2M pase por un modelo
> auxiliar (through=...), y captura la señal de post_save de ese modelo
> auxiliar.
>
>  Saludos,
>   D.
>

Muchas gracias Daniel!,
Ahora me pongo con la doc de Django y esto del 'through' para capturar la
signal desde ahi ^^,
Saludos,

-- 
*Emiliano Dalla Verde Marcozzi*
Encargado de IT y Python Ninja Developer



San Juan 4879
Rosario. Argentina
Tel. (+54) 341 437 6878
www.airtrack.com.ar

"Chuck Norris doesn't need a debugger, he just stares down the bug until the
code confesses."

- proyectos: https://bitbucket.org/edvm
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110726/f8542587/attachment.html>


More information about the pyar mailing list