シグナルを送信するモデルがあります。
class WMTransaction(models.Model):
def save(self, *args, **kwargs):
if self.status == 'completed':
self.completed = datetime.datetime.now()
try:
old = WMTransaction.objects.get(pk=self.pk)
if old.status == 'processing':
print 'sending signal'
payment_done.send(self)
except:
pass
super(WMTransaction, self).save(*args, **kwargs)
また、2つのモジュールにレシーバーがあります。
@receiver(payment_done, dispatch_uid="make_this_signal_unique", weak=False)
def subscribe(sender, **kwargs):
print 'subscribing'
# processing
と:
@receiver(payment_done, dispatch_uid="this_signal_is_also_unique", weak=False)
def buy(sender, **kwargs):
print 'buying'
# processing
問題は、サブスクライブ関数が呼び出され、購入が呼び出されないことです...両方のモジュールがインストールされたアプリにあり、これらのモジュールの他の関数は正しく機能します。信号の問題は何ですか?