Django 多个相关型号的post_保存信号
我需要触发某些型号的任何更改。我的型号是:品牌、产品、包装<代码>包装有Django 多个相关型号的post_保存信号,django,django-models,django-signals,Django,Django Models,Django Signals,我需要触发某些型号的任何更改。我的型号是:品牌、产品、包装包装有fk到产品和产品有fk到品牌。所以,当这些模型的某些实例被更改、创建或删除时,我需要发送信号。我可以用post\u save信号来实现它吗?我想,如果我为较低型号写入post\u save信号:Package,则会触发品牌或产品的任何更改。但这不是为什么你的信号没有被触发?Django的post_save在模型的save()方法()末尾触发。更新软件包时,产品仍然只包含软件包型号的密钥。所以Product没有调用save() 您可以
fk
到产品
和产品有fk
到品牌
。所以,当这些模型的某些实例被更改、创建或删除时,我需要发送信号。我可以用post\u save
信号来实现它吗?我想,如果我为较低型号写入post\u save
信号:Package
,则会触发品牌
或产品
的任何更改。但这不是为什么你的信号没有被触发?Django的post_save
在模型的save()
方法()末尾触发。更新软件包
时,产品
仍然只包含软件包
型号的密钥。所以Product
没有调用save()
您可以做什么:
post\u save
信号save()
方法post\u save
信号,只需执行以下操作:
post_save.connect(do_package_stuff, Package, weak=False, dispatch_uid='package_post_save')
post_save.connect(do_product_stuff, Product, weak=False, dispatch_uid='product_post_save')
post_save.connect(do_brand_stuff, Brand, weak=False, dispatch_uid='brand_post_save')
save()。您可以查看您是否对更好的方法不感兴趣。post\u save
与模型的save
方法相关联。因此,只有当特定的save
方法被触发时,它才会被执行。您必须为每个模型写入post\u save信号