Python數據庫反向生成Model最優方案示例

目錄

1. 前言

熟悉 Django 得朋友應該知道,我們可以通過「 inspectdb 」命令將數據庫表反向生成 Model 并寫入到文件中去

比如,Django 項目映射數據庫中有一張 student 表,我們希望反向生成 Model 并寫入到本地文件 models.py 文件中

只需要輸入下面命令:

# 反向生成Model# 進入到項目根目錄,輸入下面得命令# 其中# student:映射數據庫得student數據表# 寫入到index App 下得models.py文件內python3 manage.py inspectdb student > index/models.py

但如果是一個普通 Python 項目,如何反向生成 Model 呢?

2. 普通項目反向生成 Model

假設項目使用「 sqlalchemy 」連接操作數據庫

from sqlalchemy import create_enginefrom sqlalchemy.orm import sessionmakerengine = create_engine('mysql+pymysql://{}:{}@{}:{}/{}'.format(user, password, host, port, database), echo = True)session = sessionmaker(bind=self.engine)()...

接著,我們安裝依賴「 sqlacodegen 」

# 安裝依賴pip3 install sqlacodegen

這樣,我們就可以使用 sqlacodegen 命令關聯數據庫表,在本地一鍵生成 Model 了

def generate_orm_table(db_ip, db_name, table_name, output, username='root', pwd='root', port=3306):    """    生成orm數據表    :return:    """    exec_cmd(        'sqlacodegen --tables {} --outfile {} mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(            table_name, output, username, pwd, db_ip, port, db_name))if __name__ == '__main__':    # 生成orm數據庫表    table_name = 'zlb_users'    # 生成Model    generate_orm_table("192.168.*.*", "db_name", "table_name", "./../model/{}.py".format(table_name))

3. 最后

雖然可以通過命令行一鍵生成 Model,但是生成得部分字段可能存在誤差,需要手動進行調整一下
比如,數據庫如果某個字段為時間 datetime,反向生成 Model 中得 DateTimeField 字段參數值需要略微調整

以上就是Python數據庫反向生成Model最優方案得詳細內容,更多關于Python數據庫反向生成Model得資料請關注之家其它相關內容!

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論1 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 在线国产你懂的| 新人本田岬847正在播放| 97国产在线播放| 久久精品国产99久久久| 国产亚洲欧美久久久久| 欧美黑人巨大videos极品| 3d动漫精品啪啪一区二区中文| 国产区在线观看视频| 成人免费福利视频| 牛牛在线精品免费视频观看| 久久99精品久久久久久首页| 又黄又爽一线毛片免费观看| 天天干免费视频| 福利片一区二区| 你懂的免费视频| 亚洲国产日韩在线人成下载| 天堂一区二区三区精品| 理论亚洲区美一区二区三区| 亚洲六月丁香婷婷综合| 中文字幕人妻无码一夲道| 亚洲精品一二区| 国语对白刺激做受xxxxx在线| 日韩精品无码免费一区二区三区| 1024手机看片基地| 中文字幕一区二区三区久久网站 | 色偷偷91久久综合噜噜噜噜| eeuss影院机在线播放| 八戒八戒在线观看免费视频| 日本大片在线看黄a∨免费| 蜜桃97爱成人| 中文无码一区二区不卡αv| 又大又硬又爽免费视频| 国产精品一国产精品| 性欧美丰满熟妇XXXX性久久久| 联谊对象是肉食系警官第6话| 久久久综合亚洲色一区二区三区| 国产成人精品无码播放| 最新亚洲春色av无码专区| 被黑人侵犯若妻中文字幕| 18女人腿打开无遮掩免费| √天堂8资源中文在线|