2
我有一个模型,其中包含一个布尔字段代表该项目的批准与否。 我想在选中此框时发送电子邮件。在Django管理员我怎样才能知道一个布尔值是第一次设置为true
我明白如何覆盖保存方法并发送电子邮件,如果它是真的,但每次保存时都会发送一封电子邮件。
因为我只想发送一次电子邮件,有没有办法检查一个布尔值是真的只有第一次?
感谢
我有一个模型,其中包含一个布尔字段代表该项目的批准与否。 我想在选中此框时发送电子邮件。在Django管理员我怎样才能知道一个布尔值是第一次设置为true
我明白如何覆盖保存方法并发送电子邮件,如果它是真的,但每次保存时都会发送一封电子邮件。
因为我只想发送一次电子邮件,有没有办法检查一个布尔值是真的只有第一次?
感谢
我做的是我得到的元素,因为它保存之前是在数据库中,我把它比作什么,我有以后。
def save(self):
# Only when we update an element. Not when we create it
if self.pk:
# We get the old values of the model
old = Model.objects.get(pk=self.pk)
# If it's approved and it wasn't before
if self.approved == True and old.approved == False:
send_mail(...)
super(Model, self).save()
所以电子邮件只会发送时,对象从未批准到批准。
谢谢!我非常肯定它是这样的,但我无法弄清楚如何获得预存值以便比较。明显的,一旦你看到它,一如既往。 – Colin 2009-11-05 15:13:49