Django Admin,保存时调用函数

时间:2015-05-15 06:13:03

标签: python django

我的Django网站上有一个处理博客文章的应用程序。发布博客文章时,我想在第三方应用程序上安排新闻通讯,通知订阅者新帖子。

所以我想添加一个自定义函数,以便在保存博客文章时调用,我可以将此API调用写入新闻稿服务。

怎么做?尝试查看文档,我能找到的就是管理操作,这似乎不是我想要的。

2 个答案:

答案 0 :(得分:7)

您可以使用多种方法。

覆盖模型保存方法很简单,但每次保存模型时都会调用。

https://docs.djangoproject.com/en/dev/ref/models/instances/#saving-objects

如果它特定于管理站点,则在ModelAdmin中使用model_save()方法。 (我个人喜欢这种方法,因为它不会干扰你的模型)。

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.save_model

你也可以使用保存后信号,但保存方法似乎更受欢迎(取决于你在做什么)Django: When to customize save vs using post-save signal

答案 1 :(得分:2)

你绝对应该选择https://docs.djangoproject.com/en/1.8/ref/signals/#django.db.models.signals.post_save,它提供了你在这里寻找的完整功能。