2015-01-16 10 views
10

Ich habe einige Signale in meiner Django-App geschrieben, die eine E-Mail senden sollen, wenn eine bestimmte Modellinstanz erstellt oder geändert wird, aber die Signalempfängerfunktion scheint nicht zu antworten; jedenfalls bekomme ich keine E-Mails durch (obwohl ich bereits überprüft habe, dass ich E-Mails mit meiner aktuellen Konfiguration versenden kann).Kann ich manuell Signale in Django auslösen?

Wie auch immer; Ich frage mich, ob es möglich ist, ein post_save-Signal manuell zu Debugging-Zwecken zu senden, anstatt zu versuchen, es auszulösen, indem jedes Mal eine neue Modellinstanz erstellt wird? Vielen Dank!

Antwort

12

Natürlich ist es möglich. Siehe the documentation:

from django.db.models.signals import post_save 

instance = MyModel(field='qwerty') 
post_save.send(MyModel, instance=instance, created=True) 
+2

Ah! Ich habe die Django-Dokumentation ein paar Mal über Signale gelesen, aber irgendwie habe ich das nicht verstanden - im Nachhinein offensichtlich. Vielen Dank! :) –