如何將 Django 與舊有資料庫整合¶
雖然 Django 最適合開發新的應用程式,但將其整合到舊有資料庫中也是完全可行的。Django 包含一些實用工具,可盡可能自動化此過程。
本文假設您已了解 Django 的基本知識,如教學文件中所述。
設定好 Django 後,您將按照以下一般步驟與現有的資料庫整合。
提供 Django 您的資料庫參數¶
您需要告知 Django 您的資料庫連線參數以及資料庫的名稱。請編輯 DATABASES
設定,並將值指派給 'default'
連線的下列鍵:
自動產生模型¶
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 的管理員網站編輯物件,並據此編輯模型檔案。