python自动生成model文件过程详解

时间:2021-05-22

生成方式

Python中想要自动生成 model文件可以通过 sqlacodegen这个命令来生成对应的model文件

sqlacodegen 你可以通过pip去安装:

pip install sqlacodegen

格式:

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

说明:

  • mysql+pymysql : 表示连接数据库的连接方式
  • username : 连接MySQL数据库的用户名
  • password : 连接MySQL数据库用户对应的密码
  • host : 数据库的主机地址
  • database_name : 需要生成model的数据库名【一定是数据库名】

问题: 如果只想生成数据库中指定表的model文件怎么办?

答案就是:

给 sqlacodegen 加一个 --table 的参数即可

案例:

👉⚡️sqlacodegen --tables products mysql+pymysql://root:root@127.0.0.1/shopify > products.py👉⚡️lsproducts.py

结果:

👉⚡️cat products.py # coding: utf-8from sqlalchemy import CHAR, Column, String, Text, textfrom sqlalchemy.dialects.mysql import INTEGERfrom sqlalchemy.ext.declarative import declarative_baseBase = declarative_base()metadata = Base.metadataclass 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'"))👉⚡️

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章