gpt4 book ai didi

python - 更改电子邮件地址时发送电子邮件

转载 作者:太空宇宙 更新时间:2023-11-04 01:38:02 25 4
gpt4 key购买 nike

在我的 DJango 应用程序中,我想实现一个系统,以便当我的 jmodel 中的 email 字段发生更改时,MyModel 会向该电子邮件发送一封电子邮件地址。我的这个模型上有一个 ModelForm。我应该如何以及如何实现?

  1. 我是否应该覆盖我的 ModelForm 的 save() 方法并将电子邮件发送到那里?
  2. 我是否应该 try catch 某种模型更新信号并将电子邮件发送到那里——如果是的话,怎么做?我应该捕获什么信号?

检查电子邮件是否已更改的好方法是什么。这本身是一件微不足道的事情,但我希望代码驻留在它的正确位置。

谢谢

检查字段是否已更改:Django: When saving, how can you check if a field has changed?

最佳答案

您可以使用 django-model-changes无需额外的数据库查找即可执行此操作:

from django.db import models
from django.dispatch import receiver
from django_model_changes import ChangesMixin

class MyModel(ChangesMixin, models.Model):
# your model

@receiver(pre_save, sender=MyModel)
def send_email_if_changed(sender, instance, **kwargs):
if 'email' in instance.changes():
# send email

关于python - 更改电子邮件地址时发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7931401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com