ホームページ > データベース > mysql チュートリアル > SQLAlchemy の日付フィールドを使用してユーザーを年齢範囲で正しくフィルターする方法は?

SQLAlchemy の日付フィールドを使用してユーザーを年齢範囲で正しくフィルターする方法は?

DDD
リリース: 2024-12-27 18:54:13
オリジナル
741 人が閲覧しました

How to Correctly Filter Users by Age Range Using SQLAlchemy Date Fields?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート