SQLAlchemy: 日付フィールドのフィルタリング
User モデルが「誕生日」フィールドを Date データ型として定義するシナリオでは、次のことが発生します。年齢層に基づいてユーザーをフィルタリングする必要がある。 SQLAlchemy でこれを実現するには、最初に次のことを検討して試みるかもしれません。
query = DBSession.query(User).filter( and_(User.birthday >= '1988-01-17', User.birthday <= '1985-01-17') )
しかし、この試みは精度に達しません。修正されたフィルターは次のとおりです:
qry = DBSession.query(User).filter( and_(User.birthday <= '1988-01-17', User.birthday >= '1985-01-17') )
または同等の:
qry = DBSession.query(User).filter(User.birthday <= '1988-01-17').\ filter(User.birthday >= '1985-01-17')
または、同じ目的で between 演算子を使用できます:
qry = DBSession.query(User).filter(User.birthday.between('1985-01-17', '1988-01-17'))
これらのアプローチ指定された日付範囲内のレコードが正確に選択されていることを確認してください。
以上がSQLAlchemy の日付フィールドを使用してユーザーを年齢範囲で正しくフィルターする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。