【发布时间】:2018-01-30 18:17:29
【问题描述】:
我在我的一些模型中使用.post_save 来做一些耗时的工作。我想跟踪实际发送信号的用户。有什么办法吗?
【问题讨论】:
-
这实际上是不可能的。比较this question。
标签: django signals django-signals
我在我的一些模型中使用.post_save 来做一些耗时的工作。我想跟踪实际发送信号的用户。有什么办法吗?
【问题讨论】:
标签: django signals django-signals
一种解决方案是将用户放在您正在保存user = models.ForeignKey(User) 的模型字段中,以便在信号之后使用。
【讨论】:
尝试:
from django.db.models.signals import post_save
from django.contrib.auth.models import User
@receiver(post_save, sender=User)
def user_saved(sender, instance, **kwargs):
# here, instance is the User instance that was saved in the database
time_consuming_work(instance)
希望这会有所帮助。
【讨论】:
request.user