结果应该是 Date 对象
由于无法“删除”这一天,因此将其设置为该月的第一天。
只留下月、年
Date
您可以使用以下构造来使用year
或过滤列month
:
.filter(extract('year', Foo.Date) == 2012)
.filter(extract('month', Foo.Date) == 12)
并且group_by
也是可能的:
.group_by(sqlalchemy.func.year(Foo.Date), sqlalchemy.func.month(Foo.Date))
现在我还没有测试它,但我认为这可能会很慢,因为这些查询会导致全表扫描,因此我建议你花一些时间学习如何使用复合列。
注意:extract()
是从sqlalchemy.sql
如果您像这样声明您的架构,
schema.Column('created', types.TIMESTAMP(), default=now()),
函数 now() 定义在同一个模块中,可以是这样的
def now():
now_date = datetime.datetime.now()
return now_date.replace(day=1)
根据 group_by 的要求,这里有一个提到的方法。
您可以类似地修改小时和其他字段。