Flask 使用Flask-SQLAlchemy操作数据库

上面给roles表中添加了五条数据,下面这个视图函数给users表添加一条数据,关联roles表。

添加用户表数据

@app.route(“/addUser”)

def addUser():

user = User(username = “admin1”, password=“admin”, role_id=6)

db.session.add(user);

db.session.commit();

return “添加成功”

上面视图函数中是直接给出的roles表中的id值的,开发中可以根据某一属性查询出roles某一条数据进行关联。访问视图函数后,效果如下:

在这里插入图片描述

查询全部结果

定义一个视图查询出roles表中的所有数据。

查询表中全部数据

@app.route(“/findAll”)

def findAll():

返回一个列表,all()函数返回所有结果

result = Role.query.all();

print(result)

for item in result:

print(item.id, item.name)

return “查询成功”

查询结果如下:

在这里插入图片描述

上述中查询使用了all()函数,返回查询的所有结果,下表是SQLAlchemy查询一些常用的函数。

| 方法 | 说明 |

| — | — |

| all() | 以列表形式返回查询的所有结果 |

| first() | 返回查询的第一个结果,如果没有结结果,则返回None |

| frist_or_404 | 返回查询的第一个结果,如果没有结果,则重则请求,返回404错误响应 |

| get() | 返回指定主键对应的行,如果没有对应的行,则返回None |

| get_or_404 | 返回指定主键对应的行,如果没找到指定的主键,则终止请求,返回404错误响应 |

| count() | 返回查询结果的数量 |

| paginate() | 返回一个Paginate对象,它包含指定范围内的结果 |

根据条件查询

在上述查询全部数据中,使用filter进行条件查询

如下视图函数根据username属性查询。

根据用户名查询数据

@app.route(“/findByUsername/”)

def findByUsername(username):

filter过滤器,根据条件查询

obj = User.query.filter(User.username == username).all();

print(obj);

return “查询成功”;

在SQLAlchemy中除了filter过滤器还有一些其他

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值