Python Django仅在一个特定字段更改时发送邮件
我正在使用: 我的项目中有一个工作模型:Python Django仅在一个特定字段更改时发送邮件,python,django,redis,Python,Django,Redis,我正在使用: 我的项目中有一个工作模型: class Job(models.Model): # Other fields status = models.CharField( max_length=2, choices=choices.JOB_STATE_CHOICES, default=choices.PENDING_APPROVAL) 我每天晚上都会安排一项任务,检查今天批准的所有作业,并向我的用户发送邮件 因此,我的问题是: jobs = Job.obj
class Job(models.Model):
# Other fields
status = models.CharField(
max_length=2, choices=choices.JOB_STATE_CHOICES, default=choices.PENDING_APPROVAL)
我每天晚上都会安排一项任务,检查今天批准的所有作业,并向我的用户发送邮件
因此,我的问题是:
jobs = Job.objects.filter(status='APPROVED',
updated_at__date=datetime.today().date())
此查询的问题是如何知道此作业状态字段仅在今天更改
即使作业标题在今天更改,状态在5天前更改,此查询也将为作业添加作业
我只需要提取那些“状态”字段今天已更改的作业。您应该立即使用并发送电子邮件,或者将此作业id添加到RQ。
完整文档
或者,仅当状态
发生更改时(同样是django dirtyfields),才使用write own save()方法在字段更新updated\u,如
def save(self):
if self.status = 'aproved' and 'status' in self.get_dirty_fields():
# add to RQ
# or set updated_at = datetime.now() # if you dont use on_update=datetime.now
super(...).save()
模型中更新的_at字段的类型是什么?它是DateTimeField