【发布时间】:2015-01-08 15:12:51
【问题描述】:
我正在通过匹配日期在 python 中查找数据存储条目。我想要的是每天为“今天”选择条目。但是由于某种原因,当我将代码上传到 gae 服务器时,它只会工作一天,而在第二天它仍然返回相同的值。
例如当我上传我的代码并在 07-01-2014 执行它时,它会返回 07-01-2014 的值,但第二天 08-01-2014 它仍然返回 07-01-2014。
如果我重新部署相同的代码并再次执行它,它会移动到 2014 年 8 月 1 日,但第二天会再次失败。
在我的开发环境中它运行良好...
为什么?感谢您的帮助!
class ClosingValueHandler(webapp2.RequestHandler):
def get(self):
sct()
(...)
def sct(from_date=datetime.datetime.now().date()):
value = getValueByDate(from_date)
def getValueByDate(date):
query = "SELECT * FROM Value WHERE date = DATE('%s')" % str(date)
try:
q = db.GqlQuery(query)
value = q.get()
except Exception as e:
logging.error("Could not fetch Value value for date '%s' \n Error message: %s \n" % (str(date), str(e)))
return
return value
【问题讨论】:
-
这里的问题是,您在部署 .now() 并将其存储在变量中时只调用一次,然后只是重用该变量,而不是在每次添加值时调用它?...
-
我想我在这里错过了一个细节,因为我把它称为另一种方法的一部分。所以我编辑了我的问题。你怎么看?
-
在我看来,情况并非如此,因为在“sct”的方法声明中,它应该始终创建一个新的时间戳实例。
标签: python google-app-engine datetime google-cloud-datastore