我有以下 Django 信号,当保存新记录时,它基本上触发信号将我的 postgres db 中以前记录的点数增加 5,但是我的 Django 信号将更改保存到 1 个以前的记录,我得到了错误RecursionError: Maximum recursion depth exceeded
# models.py
from django.db.models.signals import post_save
class Task(models.Model):
....
def update_points(sender, instance, **kwargs):
qs = Task.objects.filter(status='Active')
for task in qs:
task.points = task.points + 5
task.save()
我究竟做错了什么?插入新记录后,我正在使用 .save() 方法将更新的记录保存在我的数据库中。