2009-09-21 16 views
14

ho tavola in sqlalchemy 0.4 che con types.DateTime colonna:Come filtro di query in sqlalchemy per anno (colonna datetime)

Column("dfield", types.DateTime, index=True) 

Voglio selezionare i record, che ha determinato anno in questa colonna, utilizzando modello. Come fare questo? ho pensato che dovrebbe essere fatto in questo modo:

selected_year = 2009 
my_session = model.Session() 
my_query = my_session.query(model.MyRecord).filter(model.dfield.??? == selected_year) 

# process data in my_query 

parte con ??? per me non è chiaro.

risposta

22
sqlalchemy.extract('year', model.MyRecord.dfield) == selected_year 
+0

Funziona come un fascino. Grazie. – Jiri

+0

Grazie! Non ho mai visto l'estratto prima. Funziona come previsto. – iurisilvio