# 模型
## ORM簡介
* MVC框架中包括一個重要的部分,就是ORM,實現了數據模型與數據庫的解耦,即數據模型的設計不需要依賴于特定的數據庫,通過簡單的配置就可以了輕松更換數據庫
* ORM是"對象-關系-映射"的簡稱,主要的任務是:
* 根據對象的類型生成表結構
* 將對象、列表的操作,轉換為sql語句
* 將sql查詢到的結果轉換為對象、列表
* 極大地減輕了開發人員的工作量,不需要面對數據庫變更而導致的無效勞動
* Django中的模型包含存儲數據的字段和約束,對應著數據庫中唯一的表

## 使用mysql數據庫
* 在python環境中安裝mysql包
```text
pip install pymysql
```
* 在mysql中創建數據庫并設置編碼為utf-8
```text
create databases test charset=utf-8
```
* 打開settings.py文件,修改DATABASES項
```text
DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
'default':{
'ENGINE':'django.db.backends.mysql',
'NAME':'miku',
'USER':'root',
'PASSWORD':'123456',
'PORT':3306,
}
}
```
## 開發流程
* 在models.py中定義模型類,要求繼承自models.Model
* 把應用加入settings.py文件的installed\_app項
* 生成遷移文件
* 執行遷移生成表
* 使用模型類進行crud操作
## 使用數據庫生成模型類
django根據現有數據庫建立model,引入外部數據庫
```text
python manage.py inspectdb > myapp/models.py
```