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