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 22 Python
Python中的True,False条件判断实例分析
Jan 12 Python
MySQL最常见的操作语句小结
May 07 Python
在Python中操作列表之List.append()方法的使用
May 20 Python
Python 详解基本语法_函数_返回值
Jan 22 Python
python爬虫之xpath的基本使用详解
Apr 18 Python
Win8下python3.5.1安装教程
Jul 29 Python
Python3按一定数据位数格式处理bin文件的方法
Jan 24 Python
python利用tkinter实现屏保
Jul 30 Python
python或C++读取指定文件夹下的所有图片
Aug 31 Python
详解python中各种文件打开模式
Jan 19 Python
matplotlib bar()实现百分比堆积柱状图
Feb 24 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
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
亲密接触PHP之PHP语法学习笔记1
2006/12/17 PHP
php防止站外远程提交表单的方法
2014/10/20 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
Ext 今日学习总结
2010/09/19 Javascript
Javascript学习笔记二 之 变量
2010/12/15 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
2013/09/16 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
jquery的attr方法禁用表单元素禁用输入内容
2014/06/23 Javascript
JavaScript框架是什么?怎样才能叫做框架?
2015/07/01 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
python中函数传参详解
2016/07/03 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
Django实现celery定时任务过程解析
2020/04/21 Python
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
干部作风建设个人剖析材料
2014/10/11 职场文书
大学毕业生自我评价
2015/03/02 职场文书
企业承诺书格式范文
2015/04/28 职场文书
2015年环境整治工作总结
2015/05/22 职场文书