第五章 Flask中操作数据库(二)

本文介绍了如何在Flask中进行数据库操作,包括使用db.create_all()创建表,通过db.session进行插入、修改和删除操作,并详细阐述了查询行的方法,如all()和过滤器。此外,还讨论了在视图函数中操作数据库以及在模板中显示数据的技巧。
摘要由CSDN通过智能技术生成

       学习是用模型的最好方法是在python shell中实际操作。shell使用flask shell启动,在这之前请先设定FLASK_APP环境变量。(提示:请按“Flask中操作数据库(一)”中的示例定义User和Role模型)

一. 数据库操作

1.1 创建表

db.create_all()函数将寻找所有db.Model的子类,然后在数据库中创建对应的表:

查看应用目录,将发现有个名为data.sqlite文件:

       可以通过db.drop_all()删除所有表,修改模型后使用db.create_all()再重新创建。但这样会造成数据被销毁,后续将介绍一种更好的数据库更新方式。

1.2 插入行

下面的代码创建一些角色和用户:

        role属性也可以使用,虽然它不是真正的数据库列,但确是一对多关系的高级表示。现在对象只存在于Python中,尚未写入数据库。对数据库的改动需要通过数据库会话(db.session)管理,准备将对象写入数据库之前需添加到session中:

         为了把对象写入数据库,需要使用commit()方法提交会话。db.session提供了增、删、改的相关方法,以及数据库提交commit()和回滚db.session.rollback()。 查看提交后的数据库表:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值