例如,帳戶1 - > *用戶 - > 1個認證 1帳戶有多個用戶和每個用戶都將有1個認證如果把業務邏輯在Django
我來自Java的背景,因此我通常做的是
- 定義這些類如Java豆(即只getter和setter,沒有邏輯連接)
- 創建的AccountManager EJB類,定義CREATE_ACCOUNT方法(有需要1個帳戶,用戶列表)
- 在網絡層準備數據,然後將數據傳遞到的AccountManager EJB,例如:
accountManager.createAccount(account, userList)
但在Django中,框架的倡導者,你把域邏輯分爲模型類(行級)或相關管理類(表級),這使事情有點尷尬。是的,如果你的邏輯只涉及一張表,但在實際應用中,通常每一步都會涉及多個不同的表甚至數據庫,那麼在這種情況下我應該怎麼做?
將邏輯放入視圖?我認爲這根本不是好習慣。甚至覆蓋模型類中的save方法,通過使用** kwargs傳遞額外的數據?那麼後端將會中斷。
我希望這說明我的業務邏輯應放在django應用程序中的位置。
嗨亨利,你認爲覆蓋保存方法是好主意嗎? 另外。不是經理對象應該更關注表級邏輯嗎? (只是好奇,因爲現在我非常相信你的方法) – devharb 2011-04-11 06:53:54
查看編輯答案。 – 2011-04-11 14:29:15