1. 程式人生 > >Flask-SQLAlchemy基本操作

Flask-SQLAlchemy基本操作

db.session.rollback() 回滾
"""
Role.query.get(2) get查詢接收的引數為主鍵,如果不存在,返回空

>>> User.query.filter() 返回的基礎的查詢物件
<flask_sqlalchemy.BaseQuery object at 0x10958fb00>

filter和filter_by查詢:都是查詢過濾器,要使用查詢執行器;
User.query.filter(User.name=='wang').all() 引數:必須使用類名.欄位,可以使用運算子>= == <= !=
User.query.filter_by(name='wang').all()引數:只需要使用欄位名,不能使用運算子。

查詢排序:
>>> User.query.filter().order_by(User.id.desc()).all() desc()表示降序排序
[name:zhou, name:chen, name:zhang, name:wang]
>>> User.query.filter().order_by(User.id.asc()).all() asc()表示升序排序
[name:wang, name:zhang, name:chen, name:zhou]

分頁:第一個引數表示頁數,第二個引數表示每頁條目數,第三個引數分頁異常不報錯
>>> pa = User.query.filter().paginate(1,2,False)
>>> pa.items # 獲取分頁後的資料
[name:wang, name:zhang]
>>> pa.pages # 獲取分頁後的總頁數
2
>>> pa.page # 獲取當前頁數
1
>>> pa = User.query.filter().paginate(2,2,False)
>>> pa.items
[name:chen, name:zhou]