Filtrage des champs de date SQLAlchemy
Le filtrage des champs de date dans SQLAlchemy permet une sélection précise des enregistrements dans des plages de dates spécifiées. Considérez le modèle suivant :
class User(Base): ... birthday = Column(Date, index=True) #in database it's like '1987-01-17' ...
Filtrer une plage de dates
Pour filtrer les utilisateurs dans une tranche d'âge spécifique, vous pouvez tirer parti du mécanisme de filtrage de SQLAlchemy :
query = DBSession.query(User).filter( and_( User.birthday >= '1988-01-17', User.birthday <= '1985-01-17' ) )
Cependant, cette approche contient une faute de frappe. Pour sélectionner des utilisateurs âgés de 18 à 30 ans, vous devez permuter les opérateurs supérieur ou égal à (>=) et inférieur ou égal à (<=) :
query = DBSession.query(User).filter( and_( User.birthday <= '1988-01-17', User.birthday >= '1985-01-17' ) )
Utiliser Entre
Une approche alternative consiste à utiliser la méthode between, qui permet de spécifier directement la plage de dates :
query = DBSession.query(User).filter( User.birthday.between('1985-01-17', '1988-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!