1. 程式人生 > 其它 >三、七天入門django開發 - Django模型層

三、七天入門django開發 - Django模型層

前言

Django 提供了完善的模型(model)層用來建立和存取資料,不需要我們直接對資料庫進行操作。

模型層是什麼?

模型層位於Django 檢視層和資料庫之間


檢視層 <-----> 模型層 <------> 資料庫

為什麼需要模型層?

  1. 遮蔽不同資料庫之間的差異
  2. 開發者專注於業務邏輯的開發
  3. 模型層提供了很多便捷的工具方便開發

前面說檢視層 views 編寫各種業務,比如新建檔案 - 就是把資料庫插入資料庫,
直接操作資料庫的語法就是 insert into ...


Django 模型層的基礎知識:

  1. 每個模型是一個 Python 類,繼承django.db.models.model 類。
  2. 該模型的每一個屬性表示一個數據庫欄位。
  3. 自動生成資料庫訪問的 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 資料,直接開啟即可,沒有賬號密碼。


開發資料庫後,可以看到剛才新建的資料以及資料庫的欄位