flask_mysql基本操作

一.利用过滤器filter_by

  1. 在flask中,可以利用request.args.get()可以获得通过GET方法请求的参数,get一般常用的只写一个参数,就是请求的参数,例如request.args.get(‘id’),但是还可以像下面这样用:request.args.get(‘id’,1,type=int),第一个参数依然是请求的参数,第二个是参数的默认值,第三个是参数的类型。
  2. 可以利用上述的参数作为filter_by过滤器的条件,在flask中,可以利用创建好的模型类来使用filter_by,假设已经在models中写好了Plugin,现导入该类,可以使用Plugin.query.filter_by()来从数据库中选取数据。
  3. 同时可以使用Plugin.query.filter_by().paginate()来对数据进行分页,paginate一般接受三个参数,第一个参数是请求的页码,第二个参数是每页显示的数据数量,第三个一般是error_out,作用是是否打印错误信息,可以设置 为False。paginate的常用属性有:(1)items,该属性会返回当前页所有数据。(2)page,当前页码。(3)pages,总页码数。(4)数据总条数,同时比较难记的属性有:(1)has_prev,是否有上一页。(2)has_next,是否有下一页。(3)iter_pages,返回有那些页码,注意区分pages。
  4. 注意filter_by的参数直接写字段名就可以了,注意和filter的区别,有兴趣的可以自行去查找,后期有时间在补充

二.flask迁移数据库碰到以下问题:

  1. 出现错误:alembic.util.exc.CommandError: Target database is not up to date.
    问题原因:利用flask相关模块映射的数据库中有一个表alembic_version,表里有个数据是版本号,此版本号要和项目文件中migrations/versions文件下的最新的版本号一致。
    解决方案:在命令行下python manage.py db stamp heads 查看当前版本号,然后python manage.py db current更新版本号,接着就可以python manage.py db migrate,最后python manage.py db upgrade
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值