flask-SQLAlchemy學習筆記


[僅此一天] 倍斯特 移動電源 蘋果iphone5 4s手機充電寶三星 HTC 小米2充電器

 

id username email
1 admin admin@example.com
2 peter peter@example.org
3 guest guest@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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM