问题
Django模型在保存模型时发送信号post_save
。但是,post_save
无权访问请求对象。我需要访问request.user
之类的变量并将其与信号一起发送。
可能的解决方案
管理员 - 覆盖管理员save_model
,以便从请求对象发送post_save
一些额外参数。
DRF API - 创建或更新模型后,再次使用请求对象中的参数发送post_save
。
问题
在上述两种情况下,model.save()
默认会发送post_save
。如何覆盖save
以发送自定义信号或使用post_save
重新发送request.user
。该怎么做?
答案 0 :(得分:0)
您可以在用户模型上以这种方式访问用户对象:
from django.contrib.auth.models import User
# post save for creating customer on user saving
def post_save_function(sender, instance, created, **kwargs):
# create customer instance
if created:
post_save.connect(post_save_function, sender=User)
您可以访问User
变量
instance