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 调用DLL操作抄表机
Jan 12 Python
python之wxPython应用实例
Sep 28 Python
聊聊Python中的pypy
Jan 12 Python
python解决pandas处理缺失值为空字符串的问题
Apr 08 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
May 07 Python
python 实现对数据集的归一化的方法(0-1之间)
Jul 17 Python
Python用于学习重要算法的模块pygorithm实例浅析
Aug 16 Python
连接pandas以及数组转pandas的方法
Jun 28 Python
python读取并写入mat文件的方法
Jul 12 Python
Pytorch 实现权重初始化
Dec 31 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
Feb 10 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
Oct 20 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正则走开
2008/03/15 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
js焦点文字滚动效果代码分享
2015/08/25 Javascript
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
详解网站中图片日常使用以及优化手法
2017/01/09 Javascript
jquery实现折叠菜单效果【推荐】
2017/03/08 Javascript
利用百度地图API获取当前位置信息的实例
2017/11/06 Javascript
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
vue中轮训器的使用
2019/01/27 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
python中ConfigParse模块的用法
2014/09/29 Python
介绍Python中的一些高级编程技巧
2015/04/02 Python
Python中用Spark模块的使用教程
2015/04/13 Python
Python中常用的内置方法
2019/01/28 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
Python实现微信小程序支付功能
2019/07/25 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
Python版中国省市经纬度
2020/02/11 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
python自动下载图片的方法示例
2020/03/25 Python
Jmeter HTTPS接口测试证书导入过程图解
2020/07/22 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
根叔历年演讲稿
2014/05/20 职场文书
档案工作个人总结
2015/03/03 职场文书
工作失职检讨书范文
2015/05/05 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技