Gus*_*yes 5 python django signals model
我的 MessageFolder 模型中有一个信号可以正常工作,但是在某些特殊情况下我不希望发生 post_save 信号操作。在这种情况下如何停用它?
我已经尝试了以下,但它不是 workign。
视图.py
signals.post_save.disconnect(receiver=MessageFolder,sender=Message)
email_message = EmailMessage(
subject,
message,
my_username,
[recipent,],
[], # ['bcc@example.com'],
headers = {'Reply-To': 'gusreyes01@example.com'}
)
signals.post_save.connect(MessageFolder,MessageFolder.assign_message_folder)
# Save it
my_mailbox.record_outgoing_message(
email_message.message()
)
Run Code Online (Sandbox Code Playgroud)
模型.py
class MessageFolder(models.Model):
folder = models.ForeignKey(Folder, null = True, blank = True)
message = models.ForeignKey(Message, null = True, blank = True)
@receiver((post_save), sender=Message, dispatch_uid="assign_message_folder")
def assign_message_folder(sender, instance, created, **kwargs):
if not created:
return
else:
# generate MessageFolder && UserFolder
if(instance.outgoing):
message_folder = MessageFolder(None, 2, instance.pk)
else:
message_folder = MessageFolder(None, 1, instance.pk)
message_folder.save()
return
Run Code Online (Sandbox Code Playgroud)
我使用了以下内容,它对我有用
断开:
signals.post_save.disconnect(assign_message_folder, sender=MessageFolder)
Run Code Online (Sandbox Code Playgroud)
连接:
signals.post_save.connect(assign_message_folder, sender=MessageFolder)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1778 次 |
| 最近记录: |