Python利用sqlacodegen自動(dòng)生成ORM實(shí)體類示例
本文實(shí)例講述了Python利用sqlacodegen自動(dòng)生成ORM實(shí)體類。分享給大家供大家參考,具體如下:
在前面一篇《Python流行ORM框架sqlalchemy安裝與使用》我們是手動(dòng)創(chuàng)建了一個(gè)名叫Infos.py的文件,然后定義了一個(gè)News
類,把這個(gè)類作為和我們news
數(shù)據(jù)表的映射。
from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() from sqlalchemy import Column, Integer, String class News(Base): # 表名稱 __tablename__ = 'news' # news表里id字段 id = Column(Integer, primary_key=True, autoincrement=True) # news表里title字段 title = Column(String(length=255), nullable=False)
現(xiàn)在我們來(lái)看看sqlacodegen
這個(gè)工具,自動(dòng)生成像上面那樣的類文件。
1、安裝sqlacodegen
#cd 項(xiàng)目虛擬環(huán)境 #執(zhí)行 ./python3 -m pip install sqlacodegen
2、使用sqlacodegen生成案列
#注意還是在虛擬環(huán)境目錄下執(zhí)行 ./sqlacodegen --tables fund --outfile ../../mappers/Found.py mysql+pymysql://root:root@localhost/test?charset=utf8
--tables
指定數(shù)據(jù)表名稱,我們給fund基金數(shù)據(jù)表生成。
--outfile
指定輸出文件名稱。
3、生成的Fund.py文件代碼如下:
# coding: utf-8 from sqlalchemy import Column, DateTime, Numeric, String from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() metadata = Base.metadata class Fund(Base): __tablename__ = 'fund' code = Column(String(50), primary_key=True) name = Column(String(255)) NAV = Column(Numeric(5, 4)) ACCNAV = Column(Numeric(5, 4)) updated_at = Column(DateTime)
這樣就不用手動(dòng)寫啦。
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》、《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python之日期與時(shí)間處理模塊(date和datetime)
這篇文章主要介紹了Python之日期與時(shí)間處理模塊(date和datetime),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02詳解Python 定時(shí)框架 Apscheduler原理及安裝過(guò)程
Apscheduler是一個(gè)非常強(qiáng)大且易用的類庫(kù),可以方便我們快速的搭建一些強(qiáng)大的定時(shí)任務(wù)或者定時(shí)監(jiān)控類的調(diào)度系統(tǒng),這篇文章主要介紹了Python 定時(shí)框架 Apscheduler ,需要的朋友可以參考下2019-06-06Pandas 中的join函數(shù)應(yīng)用實(shí)現(xiàn)刪除多余的空行
這篇文章主要介紹了Pandas 中的join函數(shù)應(yīng)用實(shí)現(xiàn)刪除多余的空行,str.join也就是sequence要連接的元素序列,下面我們來(lái)看看他的作用實(shí)現(xiàn)刪除多余的空行,需要的小伙伴可以參考一下2022-02-02pytorch載入預(yù)訓(xùn)練模型后,實(shí)現(xiàn)訓(xùn)練指定層
今天小編就為大家分享一篇pytorch載入預(yù)訓(xùn)練模型后,實(shí)現(xiàn)訓(xùn)練指定層,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01簡(jiǎn)單實(shí)現(xiàn)python聊天程序
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單聊天程序的相關(guān)代碼,包括客戶端和服務(wù)端,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04python統(tǒng)計(jì)文章中單詞出現(xiàn)次數(shù)實(shí)例
在本篇文章里小編給大家整理的是關(guān)于python統(tǒng)計(jì)文章中單詞出現(xiàn)次數(shù)實(shí)例,需要的朋友們參考學(xué)習(xí)下。2020-02-02Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)在字典中將鍵映射到多個(gè)值上的方法
這篇文章主要介紹了Python在字典中將鍵映射到多個(gè)值上的方法,涉及Python針對(duì)字典的相關(guān)映射與初始化相關(guān)操作技巧,需要的朋友可以參考下2018-02-02