Python利用sqlacodegen自动生成ORM实体类示例
程序员文章站
2023-11-24 13:56:16
本文实例讲述了python利用sqlacodegen自动生成orm实体类。分享给大家供大家参考,具体如下:
在前面一篇《python流行orm框架sqlalchemy安装...
本文实例讲述了python利用sqlacodegen自动生成orm实体类。分享给大家供大家参考,具体如下:
在前面一篇《python流行orm框架sqlalchemy安装与使用》我们是手动创建了一个名叫infos.py的文件,然后定义了一个news
类,把这个类作为和我们news
数据表的映射。
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)
现在我们来看看sqlacodegen
这个工具,自动生成像上面那样的类文件。
1、安装sqlacodegen
#cd 项目虚拟环境 #执行 ./python3 -m pip install sqlacodegen
2、使用sqlacodegen生成案列
#注意还是在虚拟环境目录下执行 ./sqlacodegen --tables fund --outfile ../../mappers/found.py mysql+pymysql://root:root@localhost/test?charset=utf8
--tables
指定数据表名称,我们给fund基金数据表生成。 --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)
这样就不用手动写啦。
更多关于python相关内容感兴趣的读者可查看本站专题:《python常见数据库操作技巧汇总》、《python数学运算技巧总结》、《python数据结构与算法教程》、《python函数使用技巧总结》、《python字符串操作技巧汇总》、《python入门与进阶经典教程》及《python文件与目录操作技巧汇总》
希望本文所述对大家python程序设计有所帮助。