0
我發現自己在幾個模型中說X
,Y
和Z
的情況下,我想知道他們在什麼時候發生任何更改,即任何創建,更新,刪除,以便我可以執行另一個動作。我搜索了互聯網,但我得到的只是實例審計歷史記錄的庫。有沒有什麼辦法來完成這個內置的Django,甚至是一個自定義的解決方案/ lib將不勝感激。檢測到對Django模型所做的任何更改
我現在的想法是讓這些模型發出post_save
信號並收聽。
我發現自己在幾個模型中說X
,Y
和Z
的情況下,我想知道他們在什麼時候發生任何更改,即任何創建,更新,刪除,以便我可以執行另一個動作。我搜索了互聯網,但我得到的只是實例審計歷史記錄的庫。有沒有什麼辦法來完成這個內置的Django,甚至是一個自定義的解決方案/ lib將不勝感激。檢測到對Django模型所做的任何更改
我現在的想法是讓這些模型發出post_save
信號並收聽。
Model signals已經發送了,而不必告訴它們,只是作爲Django模型的一部分。您可以將listeners設置爲已發送的信號。
pre_delete
或post_delete
將覆蓋您的刪除案例; pre_save
和post_save
將處理您的更新/創建。 post_save
發送一個created
參數,如果創建了新記錄,則爲True
,否則發送False
。
您不需要「讓模型發出」信號。模型自動執行。 [文檔說](https://docs.djangoproject.com/en/1.11/ref/signals/#pre-save):「這是在模型的save()方法開始時發送的。」 'post_save'和其他一樣。你只需要聽信號。 – C14L