Python利用sqlacodegen自动生成ORM实体类示例


Posted in Python onJune 04, 2019

本文实例讲述了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实现大文件排序的方法
Jul 10 Python
python图片验证码生成代码
Jul 02 Python
对web.py设置favicon.ico的方法详解
Dec 04 Python
python获取txt文件词向量过程详解
Jul 05 Python
Python matplotlib生成图片背景透明的示例代码
Aug 30 Python
python英语单词测试小程序代码实例
Sep 09 Python
python 解决tqdm模块不能单行显示的问题
Feb 19 Python
python实现梯度下降法
Mar 24 Python
Pyspark获取并处理RDD数据代码实例
Mar 27 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
Apr 24 Python
Python通过Pillow实现图片对比
Apr 29 Python
Python Selenium库的基本使用教程
Jan 04 Python
Python批量生成幻影坦克图片实例代码
Jun 04 #Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 #Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
Jun 04 #Python
Python使用MyQR制作专属动态彩色二维码功能
Jun 04 #Python
Python流行ORM框架sqlalchemy安装与使用教程
Jun 04 #Python
Python3日期与时间戳转换的几种方法详解
Jun 04 #Python
Falsk 与 Django 过滤器的使用与区别详解
Jun 04 #Python
You might like
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php实现建立多层级目录的方法
2014/07/19 PHP
php实现图片缩略图的方法
2016/03/29 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
php实现的双色球算法示例
2017/06/20 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
Angular开发实践之服务端渲染
2018/03/29 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
2020/05/13 Javascript
JavaScript如何操作css
2020/10/24 Javascript
vue+Element-ui实现分页效果
2020/11/15 Javascript
Python装饰器用法实例总结
2018/02/07 Python
python 判断网络连通的实现方法
2018/04/22 Python
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
python获取Pandas列名的几种方法
2019/08/07 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
毕业生自荐书
2014/02/02 职场文书
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
个人安全生产责任书
2014/07/28 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
员工年度工作总结2015
2015/05/18 职场文书
经典爱情感言
2015/08/03 职场文书
公司晚会主持词
2019/04/17 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python