我想通過django管理控制檯保存模型時執行檢查。我想過用ModelAdmin.save_model()
,但是,從文檔,它說:在Django的管理員中保存模型時執行檢查
ModelAdmin.save_model()和ModelAdmin.delete_model()必須保存/刪除對象,他們不是否決的目的,相反,它們允許你執行額外的操作。
我需要執行檢查來強制執行時間約束,只有當模型正在編輯,並且在某些情況下,我需要不執行保存。 (例如,如果已經過了午夜,管理員正在嘗試編輯模型實例,我不想保存更改,並提醒管理員已過午夜......)
什麼是最佳地點那麼考慮ModelAdmin.save_model不能否決保存操作?
我可能錯過了一些明顯的東西,但是有沒有一種安全/可靠的方法來知道模型實例是否正在編輯或插入到ModelForm的乾淨方法中?我只想在編輯時強制執行驗證。 – jeannicolas
你可以檢查self.instance.pk的值 - 如果它有一個值,它是一個編輯。 –