gpt4 book ai didi

python - Django 仅在一个特定字段更改时发送邮件

转载 作者:IT王子 更新时间:2023-10-29 06:14:06 26 4
gpt4 key购买 nike

我正在使用: RQ scheduler

我的项目中有一个Job模型:

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 天前更改,此查询也会找到工作。

我只需要提取那些“状态”字段今天已更改的作业。

最佳答案

你应该使用 django-dirtyfields并立即发送电子邮件或将此 job_id 添加到 RQ。完整文档 here

或者仅在 status 更改时(同样是 django-dirtyfields)通过编写自己的 save() 方法更新 updated_at 字段。

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()

关于python - Django 仅在一个特定字段更改时发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38694948/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com