所以我有兩個與ForeignKey相關的模型(表)。在管理員中,編輯頁面顯示第一個模型(假設ModelOne)以及第二個模型ModelTwo(TabularInline)的相關實例。內聯模型形式發送post_save信號嗎? (django)
我想要的是當第二個模型被改變時執行一些額外的操作。我可以在ModelTwo上使用post_save信號做到這一點。然而,post_save信號僅在我從其自己的編輯頁面內保存模型(即不在ModelOne的內聯中)時調用。
有沒有辦法在ModelTwo的內聯表單上附加post_save信號?
...作爲一種解決方法,我向ModelTwo添加了一些自定義驗證,無論它是否內聯,都會調用它),以調用我想要的方法。但是,由此設置引起的問題是,如果我正在創建ModelOne的新實例並同時創建ModelTwo的實例,則無法訪問與此兩個表相關的新實例的主鍵(外鍵)它還沒有保存)。主鍵是我需要的東西。
我也嘗試添加一個post_save信號ModelOne直接(這樣我就可以得到新的實例的PK),但它似乎post_save信號不經過ModelTwo的數據(何必呢,反正?)
那麼對此有什麼解決方案?內聯模型發出信號嗎?有沒有辦法在保存之前訪問新實例的PK?
是的,似乎後保存信號只發送時,實際保存的形式,即有新的數據進來或現有的數據已經改變。 – 2010-02-02 13:40:23