日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python利用sqlacodegen自動(dòng)生成ORM實(shí)體類示例

系統(tǒng) 2182 0

本文實(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常見數(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ì)有所幫助。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 广灵县| 红原县| 林周县| 澎湖县| 建阳市| 鄂尔多斯市| 中超| 石棉县| 鄄城县| 平果县| 兴文县| 丹凤县| 辽阳市| 湄潭县| 肥东县| 玛纳斯县| 郑州市| 勐海县| 盐城市| 石渠县| 曲沃县| 日土县| 鄂伦春自治旗| 波密县| 水城县| 安平县| 三门县| 怀宁县| 玛多县| 临西县| 临湘市| 五河县| 沾化县| 华容县| 洪江市| 福清市| 松溪县| 新竹县| 韩城市| 葫芦岛市| 赫章县|