2015-05-15 30 views
4

我在處理博客文章的Django站點中有一個應用程序。當博客文章發佈時,我想在第三方應用程序上安排一條通訊,通知訂閱者該新帖子。Django Admin,保存調用函數

所以,我想添加一個自定義函數,當博客文章被保存在可以將此API調用寫入時事通訊服務時。

如何做到這一點?試圖通過文檔和我能找到的所有內容是Admin Actions,這似乎並不是我正在尋找的內容。

+0

Django的信號是你在找什麼是首選。 [發佈保存信號](https://docs.djangoproject.com/en/1.8/ref/signals/#django.db.models.signals.post_save)對你來說非常有用。 – FallenAngel

+0

U可以在模型中使用保存方法。這對你的工作很簡單。在那個def django huey可以用於隊列。 def save(self): \t \t super(ModelName,self).save() –

回答

6

有許多方法可以使用。

覆蓋模型保存方法很簡單,但每次保存模型時都會調用。

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

我選擇了保存信號。它工作得很好! –