首页 > 解决方案 > 如何检查模型 django 中的状态字段并向用户发送邮件?

问题描述

我为一家公司编写了一个全栈 django 票务系统。一切正常,登录,注册,发布票证,数据库,向管理员发送邮件。唯一剩下的就是检查工单的状态字段,如果它是真的,则向发布它的用户发送电子邮件。

class tickets(models.Model):
    name = models.ForeignKey(devices, on_delete=models.CASCADE,     blank=True, null=True)
    location = models.CharField(max_length=200)       
    company = models.CharField(max_length=200)
    serial_number = models.CharField(max_length=200)
    problem = models.CharField(max_length=1000)
    contact_number = models.CharField(max_length=200)
    status = models.BooleanField(default=False)
    author = models.ForeignKey(User, on_delete=models.CASCADE,   r elated_name="authorname", null=True)
    executive = models.ForeignKey(executives, on_delete=models.CASCADE, blank=True, null=True)

def __str__(self):
    return self.problem

标签: pythondjangostatus

解决方案


你可以这样做

from django.core.mail import send_mail

class tickets(models.Model):
   email_as_send = models.BooleanField(default=False)
    ...

   def save(self):
       if self.status and self.email_as_send:
          send_mail("subject", "message","your_website@email.fr", [self.author.email])
          self.email_as_send = True
       super().save()

推荐阅读