Heim >Datenbank >MySQL-Tutorial >Wie filtere ich Benutzer mithilfe von SQLAlchemy-Datumsfeldern korrekt nach Altersgruppe?

Wie filtere ich Benutzer mithilfe von SQLAlchemy-Datumsfeldern korrekt nach Altersgruppe?

DDD
DDDOriginal
2024-12-27 18:54:13801Durchsuche

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

SQLAlchemy: Datumsfelder filtern

In einem Szenario, in dem ein Benutzermodell ein „Geburtstag“-Feld als Datumsdatentyp definiert, entsteht das Sie müssen Benutzer anhand einer Altersgruppe filtern. Um dies mit SQLAlchemy zu erreichen, könnte man zunächst Folgendes in Betracht ziehen und versuchen:

query = DBSession.query(User).filter(
    and_(User.birthday >= '1988-01-17', User.birthday <= '1985-01-17')
) 

Dieser Versuch ist jedoch nicht genau genug. Der korrigierte Filter ist:

qry = DBSession.query(User).filter(
    and_(User.birthday <= '1988-01-17', User.birthday >= '1985-01-17')
)

oder äquivalent:

qry = DBSession.query(User).filter(User.birthday <= '1988-01-17').\
    filter(User.birthday >= '1985-01-17')

Alternativ kann der Between-Operator für denselben Zweck verwendet werden:

qry = DBSession.query(User).filter(User.birthday.between('1985-01-17', '1988-01-17'))

Diese Ansätze Stellen Sie sicher, dass Datensätze innerhalb des angegebenen Datumsbereichs genau ausgewählt werden.

Das obige ist der detaillierte Inhalt vonWie filtere ich Benutzer mithilfe von SQLAlchemy-Datumsfeldern korrekt nach Altersgruppe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn