flask-SQLAlchemy学习笔记

[仅此一天] 倍斯特 移动电源 苹果iphone5 4s手机充电宝三星 HTC 小米2充电器

 

idusernameemail
1adminadmin@example.com
2peterpeter@example.org
3guestguest@example.com

表结构如上所示。

1:查询结果集方法:(Querying Records)

  通过Flask-SQLAlchemy提供的一个query属性,当你通过model类的query属性,你可以得到一个数据库表的查询结果集。

  i.User.query.filter_by(username='peter').first(),通过filter_by方法里的条件表达式来对query所得到的结果集进行过滤,得到你想要得到的结果。

   example:

    Retrieve a user by username通过username属性为’peter‘过滤结果集:

     >>> peter = User.query.filter_by(username='peter').first()
     >>> peter.id
    1
    >>> peter.email
    u'peter@example.org'
   当不存在结果集时返回none:
    >>> missing = User.query.filter_by(username='missing').first()
    >>> missing is None
    True 

  ii.通过复杂的查询表达式来对结果集进行查询:

    >>> User.query.filter(User.email.endswith('@example.com')).all()

    结果: [<User u'admin'>, <User u'guest'>]

  iii.通过order_by来对查询结果集进行排序。

    >>> User.query.order_by(User.username)

    [<User u'admin'>, <User u'guest'>, <User u'peter'>]

  iV.使用limit方法来对结果集进行取前面的数据。

    >>> User.query.limit(1).all()

     [<User u'admin'>]

  V.通过主键来获取相应的对象。

   >>> User.query.get(1)

     <User u'admin'>

  Vi.如果在view function中不想让后台报None错误的话,可以通过get_or_404()取代get()方法、first_or_404()取代first()方法,使得前台报404错误。

    example:

    @app.route('/user/<username>')

    def show_user(username):

    user = User.query.filter_by(username=username).first_or_404()

    return render_template('show_user.html', user=user)

转载于:https://www.cnblogs.com/dwnblogs/archive/2012/06/26/2563666.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值