Étant donné la définition du modèle ci-dessous :
class User(Base): ... birthday = Column(Date, index=True) # Ex. '1987-01-17' in the database ...
L'objectif est de récupérer tous les utilisateurs dans une tranche d'âge, comme ceux entre 18 et 30 ans old.
Pour obtenir le filtrage souhaité, la requête SQLAlchemy suivante peut être utilisée :
query = DBSession.query(User).filter( User.birthday.between('1985-01-17', '1988-01-17') )
Explication :
En plus d'utiliser l'intervalle entre( ), il existe d'autres méthodes pour filtrer les champs de date :
# Filter by upper bound date query = DBSession.query(User).filter(User.birthday <= '1988-01-17') # Filter by lower bound date query = DBSession.query(User).filter(User.birthday >= '1985-01-17') # Filter by equality query = DBSession.query(User).filter(User.birthday == '1987-01-17')
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!