1. 不求甚解系列,快速上手python Django框架3.0(五)初探MODEL
在Django框架中,MTV架構的M部分指的是MODEL,它是資料庫操作的核心。Django內置的ORM(對象關系映射)框架支持多種資料庫,如PostgreSQL、MySQL、SQLite和Oracle,提供統一介面進行資料庫連接和操作。
ORM通過創建一個虛擬的「對象資料庫」(模型),使得編程操作與資料庫操作相隔離。配置資料庫信息通常在settings.py中完成,模型則在App的models.py中定義,例如定義一個BlogArticles模型,包含title和content欄位。
創建模型後,使用遷移功能將模型轉換為SQL代碼,生成資料庫表。開發流程包括:定義模型、創建遷移文件、執行遷移操作,以及配置後台管理界面。例如,創建一個BlogArticles模型,執行`python manage.py makemigrations`和`python manage.py migrate`命令,以實現資料庫操作。
模型欄位是模型的核心,如BlogArticles模型中的title和content欄位。每個欄位都是Field類的實例,應避免使用Django內置的API名稱以防止命名沖突。欄位類型包括CharField、IntegerField等,Django還支持自定義欄位。
模型的元數據,如Meta,可以設置排序方式、表名、復數名等,有助於提高模型的可讀性和管理。例如,`ordering`用於指定查詢結果的排序方式,`unique_together`用於設置模型欄位的聯合唯一性約束。
驗證器用於確保欄位數據的合法性,如`MaxValueValidator`確保值不超過指定的最大值。最後,通過模型的元數據和欄位設置,可以實現對資料庫的高效讀寫操作,包括數據查詢、創建表和管理後台的集成。