您好,我想知道是否有办法在有人更新 Django 管理页面中的某些字段时向用户发送电子邮件。有没有办法做到这一点?我已经在表单完成后发送了一封电子邮件,但是一旦其中一个用户通过管理页面更新,我需要发送更多电子邮件。
我查看了 post_save、model_save 和 save_formset 方法,但我觉得它们不是我要找的。
您好,我想知道是否有办法在有人更新 Django 管理页面中的某些字段时向用户发送电子邮件。有没有办法做到这一点?我已经在表单完成后发送了一封电子邮件,但是一旦其中一个用户通过管理页面更新,我需要发送更多电子邮件。
我查看了 post_save、model_save 和 save_formset 方法,但我觉得它们不是我要找的。
尝试覆盖该ModelAdmin.save_model
方法。我认为它有你需要的所有信息的钩子。
该change
变量使您可以区分用户添加或更改模型实例。
form.changed_data
为您提供已更改字段名称的列表,让您确定是否发送电子邮件。
最后request.user
确定进行更改的用户。
你需要django.db.models.signals.post_save
信号。模型保存后正在打磨。
def my_callback(sender, **kwargs):
# Your specific logic here
pass
post_syncdb.connect(my_callback, sender=yourapp.models.TheModel)
使用此信号发送的参数:
所以你只需要回调和发送者。