程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何将kwargs从保存传递到post_save信号大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何将kwargs从保存传递到post_save信号?

开发过程中遇到如何将kwargs从保存传递到post_save信号的问题如何解决?下面主要结合日常开发的经验,给出你关于如何将kwargs从保存传递到post_save信号的解决方法建议,希望对你解决如何将kwargs从保存传递到post_save信号有所启发或帮助;

内置信号由Django发送,因此您无法控制它们的扭曲。

您可以:

  1. 定义并发送自己的信号。
  2. 在模型实例中存储其他信息。像这样

    def save(self, commit=TruE):
    user = super(CustomFormThing, self).save(commit=falsE)
    #set some other attrs on user here ...
    user._some = 'some'
    user._other = 'other'
    if commit:
        user.save()
    
    return user
    

    @receiver(post_save, sender=User) def create_profile(sender, instance, created, **kwargs): some_ID = getattr(instance, ‘_some’, NonE) other_ID = getattr(instance, ‘_other’, NonE)

    if created:
        #do something with the kwargs above...
    

解决方法

我连接了一个自定义的post_save信号,发现我似乎找不到一种简单的方法来传递一组kwarg。

在保存过程中(在自定义表单中)

def save(self,commit=TruE):
    user = super(CustomFormThing,self).save(commit=falsE)
    #set some other attrs on user here ...
    if commit:
        user.save()

    return user

然后在我的自定义post_save挂钩中,我有以下内容(但从未收到任何花哨的东西)

@receiver(post_save,sender=User)
def create_profile(sender,instance,created,**kwargs):
    some_id = kwargs.get('some',NonE)
    other_id = kwargs.get('other',NonE)

    if created:
        #do something with the kwargs above...

如何将kwargs从保存传递到post_save事件?

大佬总结

以上是大佬教程为你收集整理的如何将kwargs从保存传递到post_save信号全部内容,希望文章能够帮你解决如何将kwargs从保存传递到post_save信号所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。