flask依据现有的库表快速生成flask实体类
在实际开发过程中,flask的sqlalchemy对应的model类写起来重复性较强,如果表比较多会比较繁琐,这个时候可以使用 flask-sqlacodegen
来快速的生成model程序或者py文件,以下是简单的示例,可以作为参考
- 以下建议先在一个干净全新的python3.6.8环境下使用,可以避免环境引起的错误
command not found: sqlacodegen
- 安装命令
pip install Flask-SQLAlchemy sqlacodegen
pip install pymysql
- 创建一个flask应用程序,实例化SQLAlchemy,配置相关的数据库连接信息
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/database'
db = SQLAlchemy(app)
注意⚠️:将 账户、密码、IP等信息 替换为实际的数据库连接 URI
- 运行 Flask 应用程序,使数据库模型类与数据库表进行关联。确保在运行应用程序之前,数据库已经创建并准备好。
比如:你要转化表query_users
的对应映射类,需要提前创建好query_users
表
输入 sqlacodegen 出现以下信息表示配置成功
- 打开命令行终端,进入你的项目目录,并执行以下命令来生成模型类文件:
sqlacodegen your_database_uri > models.py
注意⚠️:将 ‘your_database_uri’ 替换为实际的数据库连接 URI
-
打开 models.py 文件,你将看到由 sqlacodegen 自动生成的模型类。这些类将与你的数据库表相对应。你可以根据需要对其进行进一步的自定义和调整。
-
步骤 4 中的命令是把该库底下的所有表都转化为了
Flask
模型类,如果想针对某一个表进行转化可以增加参数使用以下命令
–tables 指定要转化的表名
–outfile 指定保存的py
文件路径
sqlacodegen --tables api_test --outfile models.py your_database_uri
- 如果不想生成文件,直接在终端中打印代码,可以去掉
--outfile
输出文件命令
sqlacodegen your_database_uri --tables api_test
以上就是使用 flask-sqlacodegen
将mysql中对应表转化为 flask 模型类
的所有内容
感谢观看,希望对读者有所帮助,有疑问可以评论,不定时回复