【问题标题】:appengine select based on timestamp基于时间戳的appengine选择
【发布时间】:2009-09-14 01:41:59
【问题描述】:

我似乎无法根据时间戳选择某些内容。行为有点奇怪, """ 网站消息 """ 类消息(db.Model): # from/to/ 其他几个字段 主题 = db.StringProperty() 正文 = db.Text() # 这是我要使用的字段 发送 = db.DateTimeProperty( auto_now_add=True )

当我编写像这样的 GQL 查询时

从发送的消息中选择 * = '2009-09-14 01:00:02.648000'

(数据存储区中有一条带有时间戳的消息)

它没有给我任何东西

如果我尝试

从发送的消息中选择 *

它只是给了我所有这些。当我尝试使用 > 符号时,它只是再次没有给我。

这里发生了什么,如何根据时间戳进行选择?

【问题讨论】:

    标签: python google-app-engine


    【解决方案1】:

    不要使用字符串来“代替”日期时间!就是不行……

    参见the docsDateTimeProperty 对应于datetime.datetime 值。 import datetime,将您心爱的字符串转换为 datetime.datetime 实例(例如,通过调用 strptime 方法),使用这些实例进行比较——当然,从此过上幸福的生活!-)

    【讨论】:

    • 如何将对象放入 GQL 查询字符串而不将其转换回字符串?
    • 您可以像这样引用日期时间:SELECT * FROM table WHERE datemodel = DATETIME('YYYY-MM-DD HH:MM:SS') 请参见此处:code.google.com/appengine/docs/ …
    • 您也可以执行“SELECT * FROM table WHERE datemodel = :1”,并将日期时间作为参数传递给 gqlquery,这绝对是您应该执行的操作'正在使用在运行时选择的日期时间。
    猜你喜欢
    • 2015-03-14
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    相关资源
    最近更新 更多