【Flask】Flask-SQLAlchemy的增删改查(CRUD)操作

简介: Flask-SQLAlchemy的增删改查(CRUD)操作

Flask-SQLAlchemy 为 Flask 提供了一个 SQLAlchemy扩展,本文把Flask-SQLAlchemy的增删改查操作记录下来。

增加(Create)

1.创建 Python 对象的一个实例
2.把添加实例告诉会话
3.提交会话

from models import User
user1 = User('admin', 'admin@example.com')
db.session.add(user1)
db.session.commit()

修改(Update)

1.查询要修改的对象的实例
2.把修改实例属性的操作告诉会话
3.提交会话

from models import User
user1 = User.query.filter(User.username == 'admin').first()
user1.username = 'admin_new'
db.session.commit()

删除(Delete)

1.查询要删除的对象的实例
2.把删除操作告诉会话
3.提交会话

from models import User
user1 = User.query.filter(User.username == 'admin').first()
db.session.delete(user1)
db.session.commit()

检索(Retrieve)

参照官网给出的示例进行总结,假定数据库中有如下数据:

id username email
1 admin admin@example.com
2 peter peter@example.org
3 guest guest@example.com

通过用户名查询用户,查询一个不存在的用户名返回 None。

>>> peter = User.query.filter_by(username='peter').first()
>>> peter.id
1
>>> peter.email
u'peter@example.org'
>>> missing = User.query.filter_by(username='missing').first()
>>> missing is None
True

查询email属性以@example.com结尾的用户,.all()将返回一个对象组成的列表。

>>> User.query.filter(User.email.endswith('@example.com')).all() # 返回一个列表
[<User u'admin'>, <User u'guest'>]

按某种规则对用户排序。

>>> User.query.order_by(User.username)
[<User u'admin'>, <User u'guest'>, <User u'peter'>]

限制返回用户的数量。

>>> User.query.limit(1).all()
[<User u'admin'>]

用主键查询用户。

>>> User.query.get(1)
<User u'admin'>
相关文章
|
7月前
|
前端开发 关系型数据库 数据库
使用 Flask 连接数据库和用户登录功能进行数据库的CRUD
使用 Flask 连接数据库和用户登录功能进行数据库的CRUD
179 0
|
7月前
|
关系型数据库 API 数据库
盘点Flask与数据库的交互插件——Flask-Sqlalchemy
盘点Flask与数据库的交互插件——Flask-Sqlalchemy
107 0
|
4月前
|
存储 前端开发 数据库
基于python flask 的图书管理系统,有登录界面,实现简单增删改查,可以做课程设计使用
本文介绍了一个基于Python Flask框架的图书管理系统,该系统具备登录界面,并实现了基本的增删改查功能,适合作为课程设计使用。
103 3
基于python flask 的图书管理系统,有登录界面,实现简单增删改查,可以做课程设计使用
|
6月前
|
监控 Serverless API
函数计算操作报错合集之在函数计算用gunicorn启动flask,会报错找不到这个包,该怎么办
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
6月前
|
前端开发 Python
Flask之ajax操作示例
Flask之ajax操作示例
39 2
|
7月前
|
安全 数据库连接 数据库
Flask数据库操作实战:增删改查一网打尽
【4月更文挑战第15天】本文介绍了在Flask中进行数据库操作的方法,包括选择数据库扩展(如Flask-SQLAlchemy)、配置数据库、定义模型以及执行CRUD操作。通过Flask-SQLAlchemy的ORM功能,开发者可以方便地管理数据库表和记录。文章详细展示了如何创建模型、添加、查询、更新和删除数据,并提到了高级查询和关系映射。此外,还提及了数据库迁移工具Flask-Migrate以及性能优化和安全性问题。了解这些基础,有助于开发者构建高效、安全的Flask Web应用。
【Flask实战】sqlalchemy和Flask-SQLAlchemy使用对比
【Flask实战】sqlalchemy和Flask-SQLAlchemy使用对比
|
数据可视化 Python
python开发低代码数据可视化大屏:flask_sqlalchemy增删改查语句
python开发低代码数据可视化大屏:flask_sqlalchemy增删改查语句
158 0
|
API 数据库 数据库管理
flask+flask_sqlalchemy增删改查
flask+flask_sqlalchemy增删改查
125 0
|
数据库 Python
Flask学习与项目实战5:通过SQLAlchemy连接数据库进行ORM模型的简单增删改查
是对于数据库的ORM的框架,直接操作模型,安装命令为pip install SQLAlchemy。 SQLAlchemy是一个独立的ORMR框架,可以独立于FLASK存在,也可以在Django中使用。 Flask-SQLAlchemy是对SQLAlchemy的一个封装,更适合在flask使用。
Flask学习与项目实战5:通过SQLAlchemy连接数据库进行ORM模型的简单增删改查