从管理界面保存时,Django信号未被触发

时间:2018-05-30 12:14:29

标签: python django django-models django-admin django-oscar

我已在pre_deletepost_savepre_delete接收器上为某些模型配置了一些django信号,这些模型存储在与模型相同的包中的signals.py文件中

从API调用或直接在终端中保存会触发信号,但在从管理仪表板保存时,它们不会被触发。 我已经在ready()的{​​{1}}方法中导入了信号,但没有任何变化。

有关此问题的任何帮助吗?

PS:如果有帮助,可以使用django-oscar。

AppConfig

1 个答案:

答案 0 :(得分:0)

有类似的问题。我的问题是在通过管理员保存模型后将图像上传到其他目的地。通过在 admin.py 上实现 Admin 类来解决它 例如,如果您有一个名为 Shop 的模型,那么在您的 admin.py 中就像

@admin.register(Shop)
class ShopAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        instance = form.instance
        instance.save()
        image_path = instance.banner_image.path
        move_image(image_path)