You can use following constructs to filter the Date
column using either year
or month
:
.filter(extract('year', Foo.Date) == 2012)
.filter(extract('month', Foo.Date) == 12)
And group_by
is also possible:
.group_by(sqlalchemy.func.year(Foo.Date), sqlalchemy.func.month(Foo.Date))
Now I haven't tested it, but I assume that this might be slow because these queries result in full table scans, therefore I suggest you invest some time and learn how to use composite columns.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…