2017-06-04 85 views
0

我不知道是否一個好習慣是在MySQL數據庫(觸發器等)中有一些邏輯而不是Django後端的邏輯。我意識到一些功能可能會在後端和數據庫中完成,但我希望按照良好的實踐來完成。我不確定我應該手動做一些事情,或者應該由Django生成整個數據庫(可以)?儘可能做到最好的規則是什麼?我想知道有經驗的人的意見。Django - 後端邏輯vs數據庫邏輯

回答

2

確實,如果您爲業務邏輯使用數據庫,則可以獲得最大可能的性能和安全性優化。但是,您也將有可能許多東西,如

  • 關注
  • 沒有分離被綁定到數據庫供應商

此外,任何邏輯您在數據庫韓元寫不受版本控制與您的應用程序。因此,每當您更改數據庫時,都必須再次創建所有這些內容。

而是使用Django ORM。它將自行創建和管理基於模型的數據庫。因此,無論何時重新創建數據庫,只需使用一個命令就可以運行遷移,而且完成了。

這將涵蓋大部分情況。而且,無論何時您需要這些存儲過程的速度,Django ORM都會覆蓋您。

總之,我認爲業務邏輯應該儘可能地避開數據庫。