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的鸭子类型
Sep 12 Python
Python 操作文件的基本方法总结
Aug 10 Python
利用标准库fractions模块让Python支持分数类型的方法详解
Aug 11 Python
Python入门学习指南分享
Apr 11 Python
python读取csv文件并把文件放入一个list中的实例讲解
Apr 27 Python
对pandas中Series的map函数详解
Jul 25 Python
pandas 数据索引与选取的实现方法
Jun 21 Python
Mac安装python3的方法步骤
Aug 09 Python
python如何调用字典的key
May 25 Python
Django后端分离 使用element-ui文件上传方式
Jul 12 Python
python设置 matplotlib 正确显示中文的四种方式
May 10 Python
使用Python解决图表与画布的间距问题
Apr 11 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
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
PHP编码规范之注释和文件结构说明
2010/07/09 PHP
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
PHP的Yii框架的基本使用示例
2015/08/21 PHP
PHPExcel导出2003和2007的excel文档功能示例
2017/01/04 PHP
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
2012/07/31 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
AngularJS手动表单验证
2016/02/01 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
vue中rem的配置的方法示例
2018/08/30 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
Vue解决echart在element的tab切换时显示不正确问题
2020/08/03 Javascript
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
tensorflow模型继续训练 fineturn实例
2020/01/21 Python
opencv 阈值分割的具体使用
2020/07/08 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
数学专业推荐信范文
2013/11/21 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
2015年数学教研工作总结
2015/07/22 职场文书
详解python的内存分配机制
2021/05/10 Python
redis cluster支持pipeline的实现思路
2021/06/23 Redis