通过管理站点修改Django CharField时发送电子邮件通知

通过管理站点修改Django CharField时发送电子邮件通知,django,django-admin,django-signals,Django,Django Admin,Django Signals,我有一个CharField,通常是空的。当字段设置为非空值时,我想向所有经理发送电子邮件通知(使用mail\u managers)。对该字段的更改只能通过管理员站点进行 我认为这可能是我可以通过信号来做的事情,但我没有看到列表中列出的适当信号。有什么想法吗?如果不想在字段再次更改时进行更新,您需要向字段添加一些历史记录,但只需向模型添加一个保存方法,类似于: 从django.db导入模型 class Test(models.Model): empty_field = models.Cha

我有一个CharField,通常是空的。当字段设置为非空值时,我想向所有经理发送电子邮件通知(使用
mail\u managers
)。对该字段的更改只能通过管理员站点进行


我认为这可能是我可以通过信号来做的事情,但我没有看到列表中列出的适当信号。有什么想法吗?

如果不想在字段再次更改时进行更新,您需要向字段添加一些历史记录,但只需向模型添加一个保存方法,类似于:

从django.db导入模型

class Test(models.Model):
    empty_field = models.CharField(max_length=20, blank=True)
    def save(self):
        if self.pk is not None:
            orig = Test.objects.get(pk=self.pk)
            if orig.empty_field != self.empty_field and len(self.empty_field) > 0:
                mail_managers ... 
        super(Test, self).save() # Call the "real" save() method                
看 和

您想在保存记录时发送电子邮件,还是在其他事件中发送?我想在第一次保存记录时发送一封电子邮件,并在CharField model字段中使用非空值。啊!历史值将是关键。当我错过了显而易见的东西时,我会很讨厌。一旦我做了一些旧的_值字段,我就可以使用信号机制了。谢谢很抱歉,代码更新太晚了,没有思考。如果要确保在将值更改回空然后再次更改时不发送邮件,则只需要一个布尔字段来检查该字段是否已从空更改为其他内容:)思维良好sunn0。谢谢。