[pyar] [Django] Existe equivalente a save_model pero para delete?

Nicolas Echaniz nico en rakar.com
Lun Ago 23 11:48:56 ART 2010


On Monday 23 August 2010 09:58:49 Daniel Moisset wrote:
> 2010/8/23 Dario Ocles <dario.ocles en gmail.com>:
> > Buenas gente.
> > 
> > Estoy buscando un equivalente a save_model pero para el delete de un
> > registro en el admin. El problema en cuestión es que estoy usando
> > ContentTypes para relacionar varios modelos distintos pero al borrar
> > un registro de algunos de esos modelos no me borra el registro en el
> > modelo que centra todo gracias a ContentTypes.
> 
> Hay un delete() en el modelo, igual que save()
> 
> deberías ver si no corresponde usar Model.save() en vez de
> ModelAdmin.save_model() ; el primero es mas apropiado si la logica que
> estas poniendo se tiene que usar en todas las operaciones del modelo,
> y el segundo si la logica es solo del acceso al modelo a travez de la
> interfaz de admin.
> 
> No hay un delete_model, por que no tenes ni form ni mucha info extra
> para customizar (capaz en algunos casos estaría bueno tener el
> request). Pero por el problema que contás, la logica que queres poner
> va en el delete() del modelo.
> 
> Lo único que hay que considerar con cuidado, es que este metodo no se
> llama cuando borras desde un queryset. por ej:
> Zapato.objects.filter(tamano=38).delete() , no llama nunca a
> Zapato.delete()

Un caso importante a tener en cuenta también es que la acción de borrar desde 
el changelist en el admin tampoco llama a delete().
Dependiendo de la situación, puede que te convenga usar signals.




More information about the pyar mailing list