您好我想知道是否有人在更新Django管理页面中的某些字段时向用户发送电子邮件。有没有办法做到这一点?我已经在表单完成时发送了一封电子邮件,但是我需要在其中一个用户通过管理页面更新后发送更多电子邮件。
我看了一下post_save,model_save和save_formset方法,但我觉得它们不是我想要的。
答案 0 :(得分:3)
尝试覆盖ModelAdmin.save_model
方法。我认为它可以为您提供所需的所有信息。
change
变量可让您区分添加或更改模型实例的用户。
form.changed_data
会为您提供已更改字段名称的列表,以便您确定是否发送电子邮件。
最后request.user
标识进行更改的用户。
答案 1 :(得分:1)
您需要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)
使用此信号发送的参数:
所以你只需要回叫和发送者。