2017-07-26 4 views
0

J'ai donc le signal suivant mis en placeDjango Les signaux cesse d'écouter après 2 appels

post_save.connect(self.increment_on, 
         sender=self.model_dict[self.model_involved], 
         dispatch_uid='increment_for' + 
            self.model_involved + '_creation') 

Le signal fonctionne pour la première 1-3 arrêts du modèle et arrête la fonction en cours d'exécution (increment_on)

Est-ce normal? Je passe en revue les docs sur les signaux et ne peux pas le trouver. post_save est enveloppé dans une fonction, devrais-je rappeler cette fonction? si oui où?

+0

À partir du code source ... > def disconnect (auto, récepteur = aucun, expéditeur = aucun, expéditeur = faible, dispatch_uid = aucun): "" " Déconnecter le récepteur de l'expéditeur pour le signal Si des références faibles sont utilisées, il n'est pas nécessaire d'appeler la déconnexion. le récepteur sera retiré de l'expédition automatiquement. Alors maintenant, comment effacer ce ..... –

Répondre

0

Pour une raison quelconque, je pensais que je l'ai lu quelque part faible ne devrait pas être à false sur la méthode de connexion, mais tout fonctionne comme prévu lorsque c'est exactement ce que je fais

post_save.connect(self.increment_on, 
         sender=self.model_dict[self.model_involved], 
         dispatch_uid='increment_for' + 
            self.model_involved + '_creation', 
         weak=False)