如何知道在Django函数事务on_commit中提交了哪个模型实例?

时间:2018-04-22 08:44:04

标签: django database transactions

我希望在将模型实例提交到数据库之后做一些事情。但事务on_commit()没有保存与实例相关的任何变量?有什么方法可以知道吗? Thnkas

1 个答案:

答案 0 :(得分:0)

Django信号是要走的路。

对于你的用例,我们可以使用 post_save 信号在调用模型的save()函数后触发python函数。

from django.contrib.auth.models import User
from django.db.models.signals import post_save

def handle_change(sender, instance, **kwargs):
    ....

post_save.connect(handle_change, sender=User)

https://docs.djangoproject.com/en/2.0/ref/signals/#django.db.models.signals.post_save