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生成验证码实例
Aug 21 Python
python分析网页上所有超链接的方法
May 08 Python
Python实现的异步代理爬虫及代理池
Mar 17 Python
python 连接sqlite及简单操作
Jun 30 Python
Python使用filetype精确判断文件类型
Jul 02 Python
Python使用PIL模块生成随机验证码
Nov 21 Python
解决DataFrame排序sort的问题
Jun 07 Python
python打印n位数“水仙花数”(实例代码)
Dec 25 Python
Python使用graphviz画流程图过程解析
Mar 31 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 Python
python基础之匿名函数详解
Apr 21 Python
Python turtle实现贪吃蛇游戏
Jun 18 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
基于文本的访客签到簿
2006/10/09 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
深入理解PHP变量的值类型和引用类型
2015/10/21 PHP
详解 PHP加密解密字符串函数附源码下载
2015/12/18 PHP
PHP实现查询手机归属地的方法详解
2017/04/28 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
jQuery语法总结和注意事项小结
2012/11/11 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
JQuery基础语法小结
2015/02/27 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
2016/05/11 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
Bootstrap栅格系统简单实现代码
2017/03/06 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
Vue项目中添加锁屏功能实现思路
2018/06/29 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
简单理解Python中的装饰器
2015/07/31 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
通信生自我鉴定
2014/01/18 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
健康状况证明模板
2014/10/23 职场文书
感谢信格式范文
2015/01/22 职场文书
Python pandas求方差和标准差的方法实例
2021/08/04 Python
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技