本文实例讲述了python利用sqlacodegen自动生成orm实体类。分享给大家供大家参考,具体如下:
在前面一篇《python流行orm框架sqlalchemy安装与使用》我们是手动创建了一个名叫infos.py的文件,然后定义了一个news
类,把这个类作为和我们news
数据表的映射。
1
2
3
4
5
6
7
8
9
10
|
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
1
2
3
|
#cd 项目虚拟环境 #执行 . / python3 - m pip install sqlacodegen |
2、使用sqlacodegen生成案列
1
2
|
#注意还是在虚拟环境目录下执行 . / sqlacodegen - - tables fund - - outfile .. / .. / mappers / found.py mysql + pymysql: / / root:root@localhost / test?charset = utf8 |
--tables
指定数据表名称,我们给fund基金数据表生成。
--outfile
指定输出文件名称。
3、生成的fund.py文件代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
# 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程序设计有所帮助。
原文链接:https://blog.csdn.net/github_26672553/article/details/78549078