我正在通过匹配日期查找python中的数据存储区条目。我想要的是每天选择“今日”的条目。但由于某种原因,当我将代码上传到gae服务器时,它只会工作一天,并在第二天仍然返回相同的值。datetime.datetime.now()返回旧值
例如当我上传我的代码并在07-01-2014执行它将返回07-01-2014的值,但第二天08-01-2014它仍然返回07-01-2014。
如果我重新部署相同的代码并再次执行,它将转移到08-01-2014,但在第二天再次失败。
在我的开发环境中,它工作正常...
为什么?谢谢你的帮助!
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()时才调用.now()一次,并将其存储在一个变量中,然后重用该变量,而不是在每次添加值时都调用它? – LexyStardust
我想我在这里错过了一个细节,我称之为另一种方法的一部分。所以我编辑了我的问题。你怎么看? – nouseforaname
在我看来,情况并非如此,因为在“sct”的方法声明中,它应该始终创建一个新的时间戳实例。 – nouseforaname