23

结果应该是 Date 对象

由于无法“删除”这一天,因此将其设置为该月的第一天。

只留下月、年

4

2 回答 2

46

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

于 2012-08-19T06:13:59.640 回答
0

如果您像这样声明您的架构,

schema.Column('created', types.TIMESTAMP(), default=now()),

函数 now() 定义在同一个模块中,可以是这样的

def now():
    now_date = datetime.datetime.now()
    return now_date.replace(day=1)

根据 group_by 的要求,这里有一个提到的方法。

您可以类似地修改小时和其他字段。

于 2012-08-18T16:08:01.973 回答