我只是想知道爲什麼每個項目不只是有一個model.py文件,考慮到它只是一個文件充滿類(充當數據庫表),因爲整個項目運行在一個數據庫,爲什麼會有多個models.py文件,如果所有文件使用相同的數據庫?爲什麼每個應用程序只有一個model.py,而不是整個項目中只有一個model.py?
謝謝。
我只是想知道爲什麼每個項目不只是有一個model.py文件,考慮到它只是一個文件充滿類(充當數據庫表),因爲整個項目運行在一個數據庫,爲什麼會有多個models.py文件,如果所有文件使用相同的數據庫?爲什麼每個應用程序只有一個model.py,而不是整個項目中只有一個model.py?
謝謝。
因此,如果需要,可以在不需要修改代碼(很多)的情況下使用不同的數據庫來使用這些應用程序。
Django設置爲具有可重複使用的獨立應用程序集合的項目。每個模型都有自己的model.py,因爲它們與該應用的視圖和模板緊密相關,但可能不需要其餘的項目。
Ususally你會開始寫一個應用程序。一次,你會認識到有些功能不是非常緊密相關的(例如用戶管理或不同的子部分)。此外,您的models.py將開始變得冗長,並希望有一個更清晰的結構。 這是您開始在獨立子部分中分開項目的時間點 - 應用程序。不過,他們將使用同一個數據庫。甚至更好:一些友好的人可能已經構建了可以包含在您的項目中的應用程序 - 每個應用程序都會引入teir模型,當然也會與您的數據庫進行交互。 如果項目中的所有內容都緊密相關,則不需要使用不同的應用程序。