什麼是ORM
- O Object 即對象
- R Relational 關係
- M Mapping 映射
即對象和關係的映射。是對象型數據與關係型數據之間的映射
Django中的ORM
Django中的ORM框架就是將對關係表的操作轉換爲對類對象的操作,從而實現操作的簡化。在具體的操作過程中,我們不需要直到我們底層的數據庫是什麼,我們只需要對對象操作即可,它會幫我們翻譯成對應的SQL語句。更換數據庫時,我們只需要修改配置,而不需要修改代碼,提高了代碼的重用性。
一個簡單的例子
當我們登錄一個網站的時候,需要輸入用戶名和密碼。如何驗證用戶是否存在以及密碼是否正確?當然時從數據庫中提取數
據。當我第一次用到Django的時候,我就自己寫了一個MySQL的一些功能模塊。用起來也比較方便。但是如果更換數據庫後
代碼又需要重寫,很是麻煩。
這個時候就需要用到Django的ORM
- 創建app python manage.py startapp 創建一個app
models即存放我們創建的類,這裏我們要知道一個類與一張表的對應關係。
一個類就相當於數據表,類屬性相當於字段,類對象相當於數據行。
這裏我們創建的類必須繼承自models.Model。
同樣,不同的數據類型在這裏也有不同的表示。
這裏我們創建一個id爲主鍵,並且包含count和password的表。
我們創建了一個應用程序,就需要給Django指明這個應用程序。
在settings中已安裝應用程序中添加我們創建的app
修改數據庫配置。
應爲我們用的是MySQL,連接數據庫的時候用的是PyMySQL。
而Django默認的是mysqldb,所以我們要替換一下。
設置完成後我們可以在終端輸入
python manage.py makemigrations
記錄models.py的變更
python manage.py migrate
根據變更重新生成數據表。
這樣當我們拿到賬戶和密碼時,只需要User.objects是我們所有的對象,即所有的數據行中查找即可。
如果找到的話說明是正確的。