2009-10-12 8 views

Respuesta

25

Es un poco de un truco, pero se puede hacer algo como esto:

utilizar un identificador único con un filtro y luego usar el método de actualización del conjunto de consultas (que no active las señales)

user_id = 142187 
User.objects.filter(id=user_id).update(name='tom') 
+0

excelente truco :-) – nemesisdesign

0

Actualmente existe un ticket pendiente de una decisión de diseño de Django para esta función.

Incluido en el ticket hay un parche para un parche con la implementación propuesta.

4

Este ticket se ha marcado como "wontfix" porque:

En resumen, parece que, dado el propósito definido de señales, es la señal adjunto controlador que necesita ser más inteligente (como en la sugerencia de davedash), en lugar del código que emite la señal . La desactivación de las señales es solo una solución rápida que funcionará cuando sepa exactamente qué manejadores están conectados a una señal, y oculta el problema subyacente colocando el arreglo en el lugar equivocado.

Cuestiones relacionadas