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图像处理之镜像实现方法
May 30 Python
Python编程把二叉树打印成多行代码
Jan 04 Python
Pycharm 创建 Django admin 用户名和密码的实例
May 30 Python
Python 读取某个目录下所有的文件实例
Jun 23 Python
15行Python代码实现网易云热门歌单实例教程
Mar 10 Python
对Django中内置的User模型实例详解
Aug 16 Python
Python 中的 import 机制之实现远程导入模块
Oct 29 Python
Python pandas RFM模型应用实例详解
Nov 20 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
May 12 Python
Python logging日志库空间不足问题解决
Sep 14 Python
Django操作cookie的实现
May 26 Python
Python+Pillow+Pytesseract实现验证码识别
May 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
初学者入门:细述PHP4的核心Zend
2006/09/05 PHP
php 获取完整url地址
2008/12/20 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
2016/03/21 PHP
jQuery对象与DOM对象之间的转换方法
2010/04/15 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
2016/08/30 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
Bootstrap进度条实现代码解析
2017/03/07 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
JS中使用new Option()实现时间联动效果
2018/12/10 Javascript
Vue传参一箩筐(页面、组件)
2019/04/04 Javascript
Python字符串替换实例分析
2015/05/11 Python
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
Django 内置权限扩展案例详解
2019/03/04 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
这段代码难道不该打印出56吗
2013/02/27 面试题
类和结构的区别
2012/08/15 面试题
Linux内核产生并发的原因
2012/07/13 面试题
财务主管自我鉴定
2014/01/17 职场文书
心理健康教育制度
2014/01/27 职场文书
工作过失检讨书
2014/02/23 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
生产助理岗位职责
2014/06/18 职场文书
中职招生先进个人材料
2014/08/31 职场文书
2014年幼儿园安全工作总结
2014/11/10 职场文书
护士自荐信范文
2015/03/25 职场文书
2015年党总支工作总结
2015/05/25 职场文书
python 常用的异步框架汇总整理
2021/06/18 Python