您好,登錄后才能下訂單哦!
這篇文章主要介紹“django怎么根據現有數據庫表生成model”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“django怎么根據現有數據庫表生成model”文章能幫助大家解決問題。
題記:django如果要并和原有的數據庫,那么就需要把現有數據庫的表寫入model.py中。
在setting中的DATABASESZ中配置默認參數,并在INSTALLED_APPS中導入模塊名。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 數據庫引擎 'NAME': 'jljupcs', # 數據庫名稱 'HOST': '127.0.0.1', # 數據庫地址,本機 ip 地址 127.0.0.1 'PORT': 3306, # 端口 'USER': 'root', # 數據庫用戶名 'PASSWORD': '', # 數據庫密碼 } } # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'conversion', ]
在主項目目錄下導入pymysql
import pymysql pymysql.install_as_MySQLdb()
輸入命令:
python manage.py inspectdb > [項目路徑]/models.py
在cmd中輸入命令:
打開pycharm終端輸入命令:
最后在models.py中自動創建了數據庫表對應的類。
修改managed讓之后修改models即可對數據庫進行操作,在終端輸入:
python manage.py inspectdb
提示如果你想讓Django創建、修改和刪除表,請刪除’ managed = False '行
在終端輸入:
python manage.py makemigrations
python manage.py migrate
用過Django的人應該都熟悉下面兩條命令:
# 將Model的改動生成文件 python manage.py make migrations # 此時數據庫中還不會生效 # 提交改動 python manage.py migrate # 此時數據庫就會自動生成我們Model對應的數據表了
上面兩條命令都是作用于全局的,但是如果我們只想改動的app下面的Model或者某個文件中的Model,那就需要指定appname和filename:
# 生成指定app下面的改動文件 python manage.py makemigrations appname # 提交指定app下面指定的改動文件 python manage.py migrate appname filename
既然有根據Model自動生成數據庫表的命令,那么肯定就有根據數據庫表反向生成Model的命令
python manage.py inspectdb # 使用這條命令,會根據設置的數據庫中的表在自動生成對應的Model代碼,并打印出來
當然也可以直接將打印的代碼直接導入到指定的Model文件中
python manage.py inspectdb > student/models.py # 前提是創建了app(student)并且在setting.py文件中注冊過
配置了多個數據庫,則還可以配置數據庫別名來指定根據哪個庫中的表來生成Model
python manage.py inspectdb --database default >student/models.py # default是默認的別名
將指定的表生成對應的Model
python manage.py inspectdb --database default table1 table2 >student/models.py
關于“django怎么根據現有數據庫表生成model”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。