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中使用HTMLParser解析HTML的教程
Apr 29 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
Jul 12 Python
Python处理JSON数据并生成条形图
Aug 05 Python
从零开始学Python第八周:详解网络编程基础(socket)
Dec 14 Python
Python实现二分查找与bisect模块详解
Jan 13 Python
python3.6根据m3u8下载mp4视频
Jun 17 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
Aug 08 Python
Python爬取爱奇艺电影信息代码实例
Nov 26 Python
利用matplotlib实现根据实时数据动态更新图形
Dec 13 Python
python代数式括号有效性检验示例代码
Oct 04 Python
深入理解Python变量的数据类型和存储
Feb 01 Python
python如何查找列表中元素的位置
May 30 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
destoon实现不同会员组公司名称显示不同的颜色的方法
2014/08/22 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
PHP线程的内存回收问题
2016/07/08 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
鼠标事件延时切换插件
2011/03/12 Javascript
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
jquery实现表单输入时提示文字滑动向上效果
2015/08/10 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
Angular2 父子组件数据通信实例
2017/06/22 Javascript
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
2018/10/26 jQuery
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
详解Python中with语句的用法
2015/04/15 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
Python常见的pandas用法demo示例
2019/03/16 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
django orm模块中的 is_delete用法
2020/05/20 Python
使用Keras构造简单的CNN网络实例
2020/06/29 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
质量承诺书怎么写
2014/05/24 职场文书
施工安全责任书范本
2014/07/24 职场文书
上班时间打瞌睡检讨书
2014/09/26 职场文书
离婚财产分配协议书
2014/10/21 职场文书
和谐拯救危机观后感
2015/06/15 职场文书
患者身份识别制度
2015/08/06 职场文书
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle