フラスコSQLAlchemyの条件とどのように使用するか、またはクエリを結合します

フラスコSQLAlchemyの条件とどのように使用するか、またはクエリを結合します

http://www.cherishlau.site/2018/03/29/flask-sqlalchemy-use-or-and/

私はいくつかのフィルタに会ったとき、フラスコの開発と最近の研究管理システムは、フラスコSQLAlchemyの、フラスコSQLAlchemyのシンプルで使用に便利を使用してORMフレームワークデータベースは、基本的な使用方法は、上記の公式文書で見つけることができるが、問題。

 

どのようにORとAND FILTERフラスコSQLAlchemyの中では、クエリ内の様々な条件を組み合わせて使用​​するには?

時間との記述に関連する文書の検索が発見されていない場合、いくつかの試みの後、我々はそれが次のように書くことができますが見つかりました:

輸入関連のライブラリに最初にすべての

from flask_sqlalchemy import SQLAlchemy

from sqlalchemy import or_,and_

その後、フィルタを定義します。

task_filter = {
  or_(
   and_(
 Task.task_department == current_user.user_department,  Task.task_commit_status > 0,  Task.task_complete_time >= prev, ), and_(  Task.task_complete_time >= prev,  Task.task_members.like('%,'+str(current_user.user_id)+',%'), ) ) } 

条件のセットごとに、条件と関係の数が存在するフィルタ条件グループ上記2つの関係またはがあります。

フィルタを定義した後照会することができます。

Task.query.filter(*task_filter).all()

おすすめ

転載: www.cnblogs.com/shengs/p/12074737.html