【发布时间】:2015-05-05 16:44:02
【问题描述】:
在我的表定义中,我有一个这样定义的列:
created_date = Column(DateTime, nullable=False, default=datetime.now)
我想在其创建日期等于当前日期时查询一个实例(例如,如果它是今天创建的)。
所以我尝试了这样的事情:
res = session.query(Object).filter(datetime.now() == Object.created_date)
它永远不会起作用,因为我猜两个日期是在几秒钟内比较的,所以它们永远不会彼此相等。然后我尝试了这个:
res = session.query(Object).filter((datetime.now() - Object.created_date).days < 1)
虽然(datetime.now() - datetime.now()).days 在 python 中工作,但在我这里的情况下它不起作用。我收到错误消息:“BinaryExpression”对象和“比较器”对象都没有属性“天”。
那么我应该如何进行查询以过滤当天创建的实例?谢谢!
【问题讨论】:
-
好吧,它实际上不起作用。通过说它有效,我的意思是它将返回一个值为 -1。
-
您使用的是哪个日期时间库和哪个版本的python?我只是不认为
datetime实例有days属性
标签: python sqlite datetime sqlalchemy