我有一个通常为空的 CharField。我想向所有经理发送电子邮件通知(使用mail_managers
) 当字段设置为非空值时。对此字段的更改只能通过管理站点进行。
我认为这可能是我可以通过信号做的事情,但我没有看到在文档 http://docs.djangoproject.com/en/dev/topics/signals/。有任何想法吗?
如果您不想在字段再次更改时进行更新,则需要向该字段添加一些历史记录,但只需向模型添加类似于应该可以工作的保存方法:
从 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
See
http://www.djangoproject.com/documentation/models/save_delete_hooks/ http://www.djangoproject.com/documentation/models/save_delete_hooks/
and
Django:保存时,如何检查字段是否已更改? https://stackoverflow.com/questions/1355150/django-when-saving-how-can-you-check-if-a-field-has-changed
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)