Django對各種數據庫都提供了很好的支持,django爲這些數據庫提供了統一的調用API. 可以根據不同的業務需求使用不同的數據庫.
一.數據庫
1.配置數據庫
修改工程目錄下的__init__py文件,第一層project中的init文件添加如下內容:
import pymysql
pymysql.install_as_MySQLdb()
以上代碼只適合python的3.x版本
2.修改setting.py文件
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': "sunck",
'USER':'root',
'PASSWORD':'root',
'HOST':'localhost',
'PORT':'3306',
}
}
二.開發流程
- 1.配置數據庫
參上
2.定義模型類
一個模型類在數據庫中對應一張數據表
3.生成遷移文件
4.執行遷移生成數據庫
5.使用模型類進行增刪改查(crud)
重點是查詢
6.ORM
6.1 概述
o:對象
r:關係
m:映射
模型類的save()操作,通過映射,形成insert數據庫操作,將模型類的save映射爲數據庫insert操作
6.2 任務
(1)根據對象的類型生成表結構
(2)將對象,列表的操作轉換爲sql語句
(3)將sql語句查詢到的結果轉換爲對象,列表
6.3 優點
(1)減輕開發人員工作量,不需要面對因數據庫的變更而修改代碼
三.定義模型
1.定義模型
模型,屬性,表,字段間的關係
一個模型類在數據庫中對應一張表
在模型類中定義的屬性,對應該模型對照數據表中的一個字段
2.定義屬性
詳情見以前博客 models.py,每個class對應一個表,類的屬性對應表的字段
3.創建模型類
4.元選項
在模型類中定義Meat類用於設置元信息
da_table='' # 定義數據表名,推薦使用小寫字母,數據表明默認爲項目名小寫_類名小寫
ordering = [] # 對象的默認排序字段,獲取對象的列表時使用
ordering = ['id'] # 升序
ordering = ['-id'] #降序
排序會增加開銷
接下來看模型成員