2012-08-24 41 views
2

我想知道什麼適當的東西放在我的模型的clean()方法是。什麼屬於Django模型清潔方法

將所有的驗證和操作都放到模型的屬性中以確保它是有效的(即業務邏輯)是否合理?在我的情況中有很多,我想知道每次保存模型時都執行它是否有意義。

比如我做的事情,如: - 如果視頻被標記爲私有,刪除playlsts 其所有引用 - 保證了視頻的標題是唯一與關係到用戶的其他視頻 - 等

我所做的一些事情確實需要在創建新視頻時完成 - 因此每次保存模型時檢查/設置它們也似乎過多。

這是clean()方法的正確用法嗎?

+0

我不認爲它太過分了。數據不能被清理(編輯)足夠;),特別是如果它的用戶輸入。 – Jingo

回答

0

清除關係可能是最好的處理信號。爲了驗證你的信號工作正常,你可以編寫一個單元測試。

驗證標題是唯一的是絕對屬於表單/模型驗證器的東西。對我而言,這似乎是一個更好的問題分離。