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中最常用的操作列表的几种方法归纳
Apr 24 Python
python matplotlib坐标轴设置的方法
Dec 05 Python
python中利用h5py模块读取h5文件中的主键方法
Jun 05 Python
numpy返回array中元素的index方法
Jun 27 Python
使用Python更换外网IP的方法
Jul 09 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
Apr 01 Python
python内打印变量之%和f的实例
Feb 19 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
Feb 26 Python
python爬取2021猫眼票房字体加密实例
Feb 19 Python
python 中 .py文件 转 .pyd文件的操作
Mar 04 Python
Python爬虫基础之爬虫的分类知识总结
May 13 Python
Python 阶乘详解
Oct 05 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函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
php使用json-schema模块实现json校验示例
2019/09/28 PHP
js读取cookie方法总结
2014/10/31 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
angular 组件通信的几种实现方式
2018/07/13 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
微信小程序左滑删除功能开发案例详解
2018/11/12 Javascript
vue循环数组改变点击文字的颜色
2019/10/14 Javascript
详解Vue2的diff算法
2021/01/06 Vue.js
[03:28]2014DOTA2国际邀请赛 EG战队官方纪录片
2014/07/21 DOTA
Python获取昨天、今天、明天开始、结束时间戳的方法
2018/06/01 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
文言文形式的学生求职信
2013/12/03 职场文书
经理助理岗位职责
2014/03/05 职场文书
辅导员评语
2014/05/04 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
文明单位创建材料
2014/12/24 职场文书
教师辞职书范文
2015/02/26 职场文书
使用pytorch实现线性回归
2021/04/11 Python
Python数据分析入门之数据读取与存储
2021/05/13 Python
一篇文章带你学习Mybatis-Plus(新手入门)
2021/08/02 Java/Android
德生2P3收音机开箱评测
2022/04/30 无线电