如何检查模型 django 中的状态字段并向用户发送邮件?
How to check the status field in models django and send mail to the user?
我为一家公司编写了一个全栈 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
你可以这样做
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()
我为一家公司编写了一个全栈 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
你可以这样做
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()