雖然Django最適合用來開發新的應用,但也能夠將它整合到遺留的數據庫中。Django包含了不少工具,儘量自動化解決這類問題。html
這篇文章假設你瞭解Django的基礎部分,它們在教程中說起。python
一旦你的Django環境創建好以後,你能夠按照這個大體的流程,整合你的現有數據庫。git
你須要告訴Django你的數據庫鏈接參數,以及數據庫的名稱。請修改DATABASES設置,爲'默認' 鏈接的如下鍵賦值:github
NAME數據庫
ENGINEdjango
USER工具
PASSWORD測試
HOSTspa
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是默認值)。
接下來,運行migrate命令來安裝全部所需的額外的數據庫記錄,好比後臺權限和內容類型:
$ python manage.py migrate
上面就是全部基本的步驟了 —— 到目前爲止你會想要調整Django自動生成的模型,直到他們按照你想要的方式工做。嘗試經過Django數據庫API訪問你的數據,而且嘗試使用Django後臺頁面編輯對象,以及相應地編輯模型文件。
譯者:飛龍,原文:egacy databases。
本文以 CC BY-NC-SA 3.0 協議發佈,轉載請保留做者署名和文章出處。
Django 文檔協做翻譯小組人手緊缺,有興趣的朋友能夠加入咱們,徹底公益性質。交流羣:467338606。
若是以爲文章還不錯,能夠掃描下面的二維碼來打賞我。