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算法之求n个节点不同二叉树个数
Oct 27 Python
简单实现python收发邮件功能
Jan 05 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
python编辑用户登入界面的实现代码
Jul 16 Python
python读取和保存图片5种方法对比
Sep 12 Python
python清除字符串前后空格函数的方法
Oct 21 Python
python pygame实现五子棋小游戏
Oct 26 Python
python安装requests库的实例代码
Jun 25 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
Feb 18 Python
python中threading开启关闭线程操作
May 02 Python
python利用paramiko实现交换机巡检的示例
Sep 22 Python
Python测试框架pytest高阶用法全面详解
Jun 01 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』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
PHP 解决session死锁的方法
2013/06/20 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
php统计文章排行示例
2014/03/04 PHP
php返回当前日期或者指定日期是周几
2015/05/21 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
javascript模拟命名空间
2015/04/17 Javascript
js实现的简单图片浮动效果完整实例
2016/05/10 Javascript
简单实现js点击展开二级菜单功能
2017/05/16 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
seajs中模块依赖的加载处理实例分析
2017/10/10 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
关于vue组件事件属性穿透详解
2019/10/28 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
微信小程序实现搜索功能
2020/03/10 Javascript
python中的代码编码格式转换问题
2015/06/10 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
利用django如何解析用户上传的excel文件
2017/07/24 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
python调用其他文件函数或类的示例
2019/07/16 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
python实现图片横向和纵向拼接
2020/03/05 Python
python 实现aes256加密
2020/11/27 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
Champion澳大利亚官网:美国冠军运动服装
2018/05/07 全球购物
高分子材料个人求职信范文
2013/09/25 职场文书
什么是岗位职责
2013/11/12 职场文书
品质主管的岗位职责
2013/12/04 职场文书
捐助倡议书范文
2014/04/15 职场文书