django連線已經存在資料的資料庫

2022-05-07 23:54:20 字數 2305 閱讀 8279

資料庫,各種表結構已經建立好了,甚至連資料都有了,此時,我要用django管理這個資料庫,orm對映怎麼辦???django是最適合所謂的green-field開發,即從頭開始乙個新的專案但是呢,django也支援和以前遺留的資料庫和應用相結合的。

django的資料庫層從python**生成sql schemas。但是對於遺留的資料庫,你已經用於sql schemas,這種情況下你需要為你已經存在的資料庫表寫模型(為了使用資料庫的api),幸運的是,django自帶有通過閱讀你的資料庫表規劃來生成模型**的輔助工具 manage.py inspectdb

#修改setting.py檔案

database =

}

#由於django內部鏈結mysql資料庫的時候預設的是使用mysqldb的

#但是python3中沒有這個模組

#所以我們要去修改他的project同名資料夾下的__init__檔案

import pymysql

pymysql.install_as_mysqldb()

然後呢,我們就需要根據資料庫去自動生成新的models檔案

python manage.py inspectdb    #簡單可以看一下自動對映成的models中的內容
匯出並且去代替models.py

python manage.py inspectdb > models.py
這樣你就會發現在manage.py的同級目錄下生成了乙個models.py檔案

如果完成了以上的操作,生成的是乙個不可修改/刪除的models,修改meta class中的managed = true則可以去告訴django可以對資料庫進行操作

此時,我們再去使models.py和資料庫進行同步

python manage.py migrate

資料庫,各種表結構已經建立好了,甚至連資料都有了,此時,我要用django管理這個資料庫,orm對映怎麼辦???django是最適合所謂的green-field開發,即從頭開始乙個新的專案但是呢,django也支援和以前遺留的資料庫和應用相結合的。

django的資料庫層從python**生成sql schemas。但是對於遺留的資料庫,你已經用於sql schemas,這種情況下你需要為你已經存在的資料庫表寫模型(為了使用資料庫的api),幸運的是,django自帶有通過閱讀你的資料庫表規劃來生成模型**的輔助工具 manage.py inspectdb

#修改setting.py檔案

database =

}

#由於django內部鏈結mysql資料庫的時候預設的是使用mysqldb的

#但是python3中沒有這個模組

#所以我們要去修改他的project同名資料夾下的__init__檔案

import pymysql

pymysql.install_as_mysqldb()

然後呢,我們就需要根據資料庫去自動生成新的models檔案

python manage.py inspectdb    #簡單可以看一下自動對映成的models中的內容
匯出並且去代替models.py

python manage.py inspectdb > models.py
這樣你就會發現在manage.py的同級目錄下生成了乙個models.py檔案

如果完成了以上的操作,生成的是乙個不可修改/刪除的models,修改meta class中的managed = true則可以去告訴django可以對資料庫進行操作

此時,我們再去使models.py和資料庫進行同步

python manage.py migrate

Django去操作連線已經存在的資料庫

django去操作連線已經存在的資料庫 要麼是之前沒有連線過的,要麼是加過這個類,修改過錶名,不依賴應用名 class meta managed false db table django session 解決方法 python manage.py inspectdbpython3 manage.p...

改動已經存在資料的MySQL表結構

有時候我們需要對已經存在資料庫中的表,進行一些改動,針對這種情況,有如下常用的sql語句 往已經存在乙個表中新增乙個新的column id alter table testdb.testtable add id bigint 20 取消表的原有主鍵 alter table testdb.testta...

Django去操作已經存在的資料庫

資料庫,各種表結構已經建立好了,甚至連資料都有了,此時,我要用django管理這個資料庫,orm對映怎麼辦?django是最適合所謂的green field開發,即從頭開始乙個新的專案 但是呢,django也支援和以前遺留的資料庫和應用相結合的。django的資料庫層從python 生成sql sc...