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实现的一个简单LRU cache
Sep 26 Python
Python网页解析利器BeautifulSoup安装使用介绍
Mar 17 Python
30分钟搭建Python的Flask框架并在上面编写第一个应用
Mar 30 Python
python网络编程之文件下载实例分析
May 20 Python
在python win系统下 打开TXT文件的实例
Apr 29 Python
django 将model转换为字典的方法示例
Oct 16 Python
python检测IP地址变化并触发事件
Dec 26 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
利用python制作拼图小游戏的全过程
Dec 04 Python
Pytorch 图像变换函数集合小结
Feb 01 Python
Pytorch数据读取之Dataset和DataLoader知识总结
May 23 Python
python 详解turtle画爱心代码
Feb 15 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
Zend Studio (eclipse)使用速度优化方法
2011/03/23 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
JavaScript 比较时间大小的代码
2010/04/24 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
深入理解jQuery事件绑定
2016/06/02 Javascript
javascript特殊文本输入框网页特效
2016/09/13 Javascript
VueJS全面解析
2016/11/10 Javascript
微信小程序中单位rpx和rem的使用
2016/12/06 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
详解Vue 非父子组件通信方法(非Vuex)
2017/05/24 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
element中的$confirm的使用
2020/04/26 Javascript
Python解决八皇后问题示例
2018/04/22 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
2020/06/04 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
沃尔玛旗下墨西哥超市:Bodega Aurrera
2020/11/13 全球购物
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
Python中的min及返回最小值索引的操作
2021/05/10 Python
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python