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处理XML文件的方法
Aug 31 Python
理解Python垃圾回收机制
Feb 12 Python
利用Python实现图书超期提醒
Aug 02 Python
Python时间获取及转换知识汇总
Jan 11 Python
django轻松使用富文本编辑器CKEditor的方法
Mar 30 Python
python实现linux下抓包并存库功能
Jul 18 Python
Python 互换字典的键值对实例
Feb 12 Python
python使用tomorrow实现多线程的例子
Jul 20 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
Jul 23 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
Feb 25 Python
Python库skimage绘制二值图像代码实例
Apr 10 Python
浅谈Python数学建模之固定费用问题
Jun 23 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
PHP中的reflection反射机制测试例子
2014/08/05 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
JavaScript中this的9种应用场景及三种复合应用场景
2015/09/12 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
js评分组件使用详解
2017/06/06 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
python使用psutil模块获取系统状态
2016/08/27 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
python 从csv读数据到mysql的实例
2018/06/21 Python
python实现简单flappy bird
2018/12/24 Python
Django 日志配置按日期滚动的方法
2019/01/31 Python
HTML table 表格边框的实现思路
2019/10/12 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
Unineed中文官网:高端护肤美妆与时尚配饰,英国直邮
2020/07/23 全球购物
非功能性需求都包括哪些方面
2013/10/29 面试题
高中学生干部学习的自我评价
2014/02/21 职场文书
教师演讲稿开场白
2014/08/25 职场文书
无犯罪记录证明
2014/09/19 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
校车司机安全责任书
2015/05/11 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
高中政治教师教学反思
2016/02/23 职场文书
Python 数据可视化之Matplotlib详解
2021/11/02 Python
Python 统计序列中元素的出现频度
2022/04/26 Python