当前位置: 首页 > news >正文

flask依据现有的库表快速生成flask实体类

flask依据现有的库表快速生成flask实体类

在实际开发过程中,flask的sqlalchemy对应的model类写起来重复性较强,如果表比较多会比较繁琐,这个时候可以使用 flask-sqlacodegen 来快速的生成model程序或者py文件,以下是简单的示例,可以作为参考

  • 以下建议先在一个干净全新的python3.6.8环境下使用,可以避免环境引起的错误

command not found: sqlacodegen

  1. 安装命令

pip install Flask-SQLAlchemy sqlacodegen
pip install pymysql

  1. 创建一个flask应用程序,实例化SQLAlchemy,配置相关的数据库连接信息
from flask import Flask
from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/database'
db = SQLAlchemy(app)

注意⚠️:将 账户、密码、IP等信息 替换为实际的数据库连接 URI

  1. 运行 Flask 应用程序,使数据库模型类与数据库表进行关联。确保在运行应用程序之前,数据库已经创建并准备好。
    比如:你要转化表 query_users 的对应映射类,需要提前创建好 query_users

输入 sqlacodegen 出现以下信息表示配置成功
在这里插入图片描述

  1. 打开命令行终端,进入你的项目目录,并执行以下命令来生成模型类文件:

sqlacodegen your_database_uri > models.py

注意⚠️:将 ‘your_database_uri’ 替换为实际的数据库连接 URI

  1. 打开 models.py 文件,你将看到由 sqlacodegen 自动生成的模型类。这些类将与你的数据库表相对应。你可以根据需要对其进行进一步的自定义和调整。

  2. 步骤 4 中的命令是把该库底下的所有表都转化为了 Flask 模型类,如果想针对某一个表进行转化可以增加参数使用以下命令

–tables 指定要转化的表名
–outfile 指定保存的 py 文件路径

sqlacodegen --tables api_test --outfile models.py your_database_uri
  1. 如果不想生成文件,直接在终端中打印代码,可以去掉 --outfile 输出文件命令
sqlacodegen your_database_uri --tables api_test

以上就是使用 flask-sqlacodegen 将mysql中对应表转化为 flask 模型类 的所有内容

感谢观看,希望对读者有所帮助,有疑问可以评论,不定时回复

http://www.lryc.cn/news/245943.html

相关文章:

  • .NET6 开发一个检查某些状态持续多长时间的类
  • 链表K个节点的组内逆序调整问题
  • 安卓隐私指示器学习笔记
  • 【Jenkins】jenkins发送邮件报错:Not sent to the following valid addresses:
  • CSS3制作3D爱心动画
  • Python Opencv实践 - 全景图片拼接stitcher
  • echarts 几千条分钟级别在小时级别图标上展示
  • 操作系统的中断与异常(408常考点)
  • linux下的工具---vim
  • 代码随想录算法训练营第六十天|84. 柱状图中最大的矩形
  • P14 C++局部静态变量static延长生命周期
  • C语言:写一个函数,求字符串的长度,在main函数中输入字符串并输出其长度(指针)
  • CentOS7安装Docker运行环境
  • 单片机调试技巧--栈回溯
  • 分布式锁之基于redis实现分布式锁(二)
  • python中%s的用法(字符串变量赋值办法),长字符串换行办法
  • 【Mybatis】预编译/即时sql 数据库连接池
  • 物联网AI 无线连接学习之WiFi基础篇 802.11协议发展
  • FreeRTOS-队列Queue
  • 车内总线通信技术简述
  • 6.2 Windows驱动开发:内核枚举SSSDT表基址
  • 实时LCM的ImgPilot搭建部署
  • 开源与闭源:大模型未来的发展之争
  • linux系统初始化本地git,创建ssh-key
  • JDBC 操作 SQL Server 时如何传入列表参数
  • [算法总结] - 蓄水池采样算法
  • 【Dockerfile】将自己的项目构建成镜像部署运行
  • flink和机器学习模型的常用组合方式
  • 自动驾驶学习笔记(十二)——定位技术
  • 【MySQL系列】PolarDB入门使用