溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何自動生成model文件

發(fā)布時間:2021-06-24 10:42:00 來源:億速云 閱讀:182 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹python如何自動生成model文件,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

生成方式

Python中想要自動生成 model文件可以通過 sqlacodegen這個命令來生成對應的model文件

sqlacodegen 你可以通過pip去安裝:

pip install sqlacodegen

格式:

sqlacodegen mysql+pymysql://username:password@host/database_name > model.py

說明:

  • mysql+pymysql : 表示連接數(shù)據(jù)庫的連接方式

  • username : 連接MySQL數(shù)據(jù)庫的用戶名

  • password : 連接MySQL數(shù)據(jù)庫用戶對應的密碼

  • host : 數(shù)據(jù)庫的主機地址

  • database_name : 需要生成model的數(shù)據(jù)庫名【一定是數(shù)據(jù)庫名】

問題: 如果只想生成數(shù)據(jù)庫中指定表的model文件怎么辦?

答案就是:

給 sqlacodegen 加一個 --table 的參數(shù)即可

案例:

???sqlacodegen --tables products mysql+pymysql://root:root@127.0.0.1/shopify > products.py
???ls
products.py

結果:

???cat products.py 
# coding: utf-8
from sqlalchemy import CHAR, Column, String, Text, text
from sqlalchemy.dialects.mysql import INTEGER
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()
metadata = Base.metadata


class Product(Base):
  __tablename__ = 'products'

  id = Column(INTEGER(16), primary_key=True)
  title = Column(String(256), nullable=False, server_default=text("''"))
  product_id = Column(INTEGER(16))
  shop_url = Column(String(120))
  body_html = Column(Text)
  vendor = Column(String(64))
  product_type = Column(String(64))
  created_at = Column(CHAR(30))
  updated_at = Column(CHAR(30))
  handle = Column(String(256))
  published_at = Column(CHAR(30))
  template_suffix = Column(String(256))
  tags = Column(String(256))
  published_scope = Column(CHAR(10), nullable=False, server_default=text("'web'"))
???

以上是“python如何自動生成model文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI