三、七天入門django開發 - Django模型層
阿新 • • 發佈:2021-12-09
前言
Django 提供了完善的模型(model)層用來建立和存取資料,不需要我們直接對資料庫進行操作。
模型層是什麼?
模型層位於Django 檢視層和資料庫之間
檢視層 <-----> 模型層 <------> 資料庫
為什麼需要模型層?
- 遮蔽不同資料庫之間的差異
- 開發者專注於業務邏輯的開發
- 模型層提供了很多便捷的工具方便開發
前面說檢視層 views 編寫各種業務,比如新建檔案 - 就是把資料庫插入資料庫,
直接操作資料庫的語法就是 insert into ...
Django 模型層的基礎知識:
- 每個模型是一個 Python 類,繼承django.db.models.model 類。
- 該模型的每一個屬性表示一個數據庫欄位。
- 自動生成資料庫訪問的 api 。
Django 資料型別:
我們這裡先使用 Django 自帶的 sqlite3 資料庫,後續可以前移到 MySQL 中。
Django通過自帶的ORM框架操作資料庫,並且原生支援輕量級的sqlite3資料庫。
在settings中,配置資料庫相關的引數,使用sqlite3,不需要做任何修改。
使用資料庫前,需要在settings.py中註冊app:
使用 Django 來完成一個部落格的搭建
建立部落格文章型別
1.文章標題 - 文字型別 2.文章摘要 - 文字型別 3.文章內容 - 文字型別 4.唯一的 ID 標記 - INT 型數字型別(自增長、主鍵ID) 5.釋出日期 - 日期型別
模型層定義欄位:
Models.py class Article(models.Model): # 文章 ID article_id = models.AutoField(primary_key=True) # 文章標題 title = models.TextField() # 文章摘要 brief_content = models.TextField() # 文章主要內容 content = models.TextField() # 文章釋出日期 publish_date = models.DateTimeField(auto_now=True)
模型變更生成遷移的檔案
python manage.py makemigrations
在myblogs目錄中的migrations目錄中生成一個0001_initial.py遷移記錄檔案。
執行遷移檔案,把遷移檔案的內容同步到資料庫 sqlite3 中。
python manage.py migrate
可以使用 Navicat 工具遠端連線進去看一下
新建連線 - SQLite
選擇 SQLite3 資料,直接開啟即可,沒有賬號密碼。
開發資料庫後,可以看到剛才新建的資料以及資料庫的欄位