Flask-SQLAlchemy插件
一,初始化
两种方式:
db = SQLAlchemy()
def create_app():app = Flask(__name__)db.init_app(app)return app
app = Flask(__name__)
db = SQLAlchemy(app)
二,配置填写
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:root@127.0.0.1/firstsqlalchemy"
三,使用
ORM
类:之前都是通过Base = declarative_base()
来初始化一个基类,然后再继承,在Flask-SQLAlchemy
中更加简单了(代码依赖以上示例):class User(db.Model):id = db.Column(db.Integer,primary_key=True)username = db.Column(db.String(80),unique=True)email = db.Column(db.String(120),unique=True)def __init__(self,username,email):self.username = usernameself.email = emaildef __repr__(self):return '<User %s>' % self.username
映射模型到数据库表:使用
Flask-SQLAlchemy
所有的类都是继承自db.Model
,并且所有的Column
和数据类型也都成为db
的一个属性。但是有个好处是不用写表名了,Flask-SQLAlchemy
会自动将类名小写化,然后映射成表名。
写完类模型后,要将模型映射到数据库的表中,使用以下代码创建所有的表:db.create_all()
添加数据:这时候就可以在数据库中看到已经生成了一个
user
表了。接下来添加数据到表中:admin = User('admin','admin@example.com') guest = User('guest','guest@example.com') db.session.add(admin) db.session.add(guest) db.session.commit()
添加数据和之前的没有区别,只是
session
成为了一个db
的属性。查询数据:查询数据不再是之前的
session.query
了,而是将query
属性放在了db.Model
上,所以查询就是通过Model.query
的方式进行查询了:users = User.query.all() # 再如: admin = User.query.filter_by(username='admin').first() # 或者: admin = User.query.filter(User.username='admin').first()
删除数据:删除数据跟添加数据类似,只不过
session
是db
的一个属性而已:db.session.delete(admin) db.session.commit()
转载于:https://www.cnblogs.com/donghaoblogs/p/10389691.html
Flask-SQLAlchemy插件相关推荐
- flask sqlalchemy一对多关系详解
下面的一对多关系以作者和文章为例: 首先创建一个文章表: class Post(db.Model): id = db.Column(db.Integer(),primary_key=True) tit ...
- alchemy php,Flask SQLAlchemy
在Flask Web应用程序中使用原始SQL对数据库执行CRUD操作可能很乏味. 相反,Python工具包SQLAlchemy是一个功能强大的OR映射器,为应用程序开发人员提供了SQL的全部功能和灵活 ...
- Flask SQLAlchemy - 2013 Lost Connection
Flask SQLAlchemy - 2013 Lost Connection 原因 mysql默认的连接超时时间为10s.由于路由字段没有加索引导致有时单条sql执行若超过10s,报了连接超时. 解 ...
- Flask – SQLAlchemy成员增加
目录 简介 结构 展示 技术 运行 代码 创建数据库表单 views视图 home主页 添加成员addnew.html 展示页show_all 简介 结构 $ tree -I "__pyca ...
- python学习之flask sqlalchemy介绍和使用 表操作增删查改
flask sqlalchemy介绍和使用 表操作增删查改 内容详细 1 sqlalchemy介绍和快速使用 1.1 介绍 # SQLAlchemy是一个基于Python实现的ORM框架# djang ...
- mysql报错1517_请教一下 flask+sqlalchemy+mysql 连接错误问题
在本地调试 docker-compose 调试 mysql+nginx+flask 程序,报错(2003, "Can't connect to MySQL server on '127.0. ...
- mysql flaskalchemy_python flask sqlalchemy 数据库mysql操作
第一步app.py: # coding=utf-8 import urllib from flask import Flask from werkzeug.routing import BaseCon ...
- flask+sqlalchemy+echarts动态显示数据
一.创建测试数据 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0;-- ---------------------------- -- Table stru ...
- flask sqlalchemy wtf 使用笔记
vip用户的model vip用户的model 这边 PlatUserFace 一定要写类名写表名会报错 获取用户信息 这里需要all 才能手动的去获取此用户Face的列表 vip用户的model 关 ...
- python3 flask sqlalchemy 数据库操作
数据的查询 all():查询全部的数据,其结果是一个列表,每一个元素都是一个对象students = Student.query.all()过滤查询:第一种:filter,结果是baseQuery o ...
最新文章
- ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1
- Android ScrollView嵌套RecyclerView导致在三星s8曲面屏显示不全问题
- 爬虫进行request请求时User-Agent怎样写
- CNN卷积神经网络深度解析
- 程序员获取编程灵感的10 种方式
- 一 MVC - HtmlHelper
- java mysubmail_关于MyBatis10种超好用的写法(收藏)
- leetcode 1185 python
- 什么叫显示动力学_通过流体动力学研究找到制作煎饼的最佳方法
- react+wabpack 搭建
- linux 黑酷命令行背景图片
- linux下mysql日志管理及mysql备份还原
- 用Ant来做一键部署
- 国内常见的14款低代码平台介绍
- 三菱plc 毕设_三菱plc编程上传/下载程序步骤
- ADB彻底清除小米电视广告,本人实测
- Windows10快捷键合集
- UE4 坐标系 坐标轴旋转轴
- 域名解析不生效,中科三方带你定位!
- 99乘法口诀表用for循环
热门文章
- RTX Server SDK跨服务器
- 关于textarea的ie9的maxlength不起作用的问题,请参考如下URL解决。
- linux下软件的基本安装和卸载 法一
- flink的print()函数输出的都是对象地址而非对象内容
- linux使用kolorpaint对图片进行反色
- 先验概率与后验概率、贝叶斯区别与联系
- 《机器学习》 周志华学习笔记第三章 线性模型(课后习题)python 实现
- 4.2 矩阵分解概念
- cpu倍频模式怎么调_CPU频率被锁定到800mhz怎么办?
- 数学狂想曲(十)——复变函数, 平稳离散时间随机过程, 功率谱