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中的闭包
Jul 08 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
May 24 Python
详解Tensorflow数据读取有三种方式(next_batch)
Feb 01 Python
利用python为运维人员写一个监控脚本
Mar 25 Python
对pandas进行数据预处理的实例讲解
Apr 20 Python
一篇文章了解Python中常见的序列化操作
Jun 20 Python
Python使用Pandas读写Excel实例解析
Nov 19 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
Jun 14 Python
django form和field具体方法和属性说明
Jul 09 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
详解pytorch创建tensor函数
Mar 22 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令牌 Token改进版
2008/07/18 PHP
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
PHP实现文件上传后台处理脚本
2020/03/04 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
jquery移动节点实例
2015/01/14 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
2016/05/23 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
Layui实现带查询条件的分页
2019/07/27 Javascript
vuex存储token示例
2019/11/11 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
Python 使用type来定义类的实现
2019/11/19 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
英国航空官网:British Airways
2016/09/11 全球购物
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
大学本科毕业生的自我鉴定
2013/11/26 职场文书
办理居住证介绍信
2014/01/15 职场文书
我的中国心演讲稿
2014/09/04 职场文书
停车场管理协议书范本
2014/10/08 职场文书
化验员岗位职责
2015/02/14 职场文书
行为习惯主题班会
2015/08/14 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
小学美术教学反思
2016/02/17 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书
java多态注意项小结
2021/10/16 Java/Android
vue3.0 数字翻牌组件的使用方法详解
2022/04/20 Vue.js