<!--
譯者:Github@wizardforcel
-->
# 將遺留數據庫整合到Django #
雖然Django最適合用來開發新的應用,但也可以將它整合到遺留的數據庫中。Django包含了很多工具,盡可能自動化解決這類問題。
這篇文章假設你了解Django的基礎部分,它們在教程中提及。
一旦你的Django環境建立好之后,你可以按照這個大致的流程,整合你的現有數據庫。
## 向Django提供你的數據庫參數 ##
你需要告訴Django你的數據庫連接參數,以及數據庫的名稱。請修改DATABASES設置,為'默認' 連接的以下鍵賦值:
+ NAME
+ ENGINE
+ USER
+ PASSWORD
+ HOST
+ PORT
## 自動生成模型 ##
Django自帶叫做inspectdb的工具,可以按照現有的數據庫創建模型。你可以運行以下命令,并查看輸出:
```
$ python manage.py inspectdb
```
通過重定向Unix標準輸出流來保存文件:
```
$ python manage.py inspectdb > models.py
```
這個特性是一個快捷方式,并不是一個確定的模型生成器。詳見inspectdb文檔 。
一旦你創建好了你的模型,把文件命名為models.py,然后把它放到你應用的Python包中。然后把應用添加到你的INSTALLED_APPS 設置中。
默認情況下,inspectdb創建未被管理的模型。這就是說,模型的Meta類中的managed = False告訴Django不要管理每個表的創建、修改和刪除:
```
class Person(models.Model):
id = models.IntegerField(primary_key=True)
first_name = models.CharField(max_length=70)
class Meta:
managed = False
db_table = 'CENSUS_PERSONS'
```
如果你希望Django管理表的生命周期,你需要把managed選項改為 True(或者簡單地把它移除,因為True是默認值)。
## 安裝Django核心表 ##
接下來,運行migrate命令來安裝所有所需的額外的數據庫記錄,比如后臺權限和內容類型:
```
$ python manage.py migrate
```
## 測試和調整 ##
上面就是所有基本的步驟了 —— 到目前為止你會想要調整Django自動生成的模型,直到他們按照你想要的方式工作。嘗試通過Django數據庫API訪問你的數據,并且嘗試使用Django后臺頁面編輯對象,以及相應地編輯模型文件。
- 新手入門
- 從零開始
- 概覽
- 安裝
- 教程
- 第1部分:模型
- 第2部分:管理站點
- 第3部分:視圖和模板
- 第4部分:表單和通用視圖
- 第5部分:測試
- 第6部分:靜態文件
- 高級教程
- 如何編寫可重用的應用
- 為Django編寫首個補丁
- 模型層
- 模型
- 模型語法
- 元選項
- 模型類
- 查詢集
- 執行查詢
- 查找表達式
- 模型的實例
- 實例方法
- 訪問關聯對象
- 遷移
- 模式編輯器
- 編寫遷移
- 高級
- 管理器
- 原始的SQL查詢
- 聚合
- 多數據庫
- 自定義查找
- 條件表達式
- 數據庫函數
- 其它
- 遺留的數據庫
- 提供初始數據
- 優化數據庫訪問
- 視圖層
- 基礎
- URL配置
- 視圖函數
- 快捷函數
- 裝飾器
- 參考
- 內建的視圖
- TemplateResponse 對象
- 文件上傳
- 概覽
- File 對象
- 儲存API
- 管理文件
- 自定義存儲
- 基于類的視圖
- 概覽
- 內建顯示視圖
- 內建編輯視圖
- API參考
- 分類索引
- 高級
- 生成 CSV
- 生成 PDF
- 中間件
- 概覽
- 內建的中間件類
- 模板層
- 基礎
- 面向設計師
- 語言概覽
- 人性化
- 面向程序員
- 表單
- 基礎
- 概覽
- 表單API
- 內建的Widget
- 高級
- 整合媒體
- 開發過程
- 設置
- 概覽
- 應用程序
- 異常
- 概覽
- django-admin 和 manage.py
- 添加自定義的命令
- 測試
- 介紹
- 部署
- 概述
- WSGI服務器
- 部署靜態文件
- 通過email追蹤代碼錯誤
- Admin
- 管理操作
- 管理文檔生成器
- 安全
- 安全概述
- 說明Django中的安全問題
- 點擊劫持保護
- 加密簽名
- 國際化和本地化
- 概述
- 本地化WEB UI格式化輸入
- “本地特色”
- 常見的網站應用工具
- 認證
- 概覽
- 使用認證系統
- 密碼管理
- 日志
- 分頁
- 會話
- 數據驗證
- 其它核心功能
- 按需內容處理
- 重定向
- 信號
- 系統檢查框架