我有一个 GAE(谷歌应用引擎)应用程序,它每隔 15 分钟解析一次网站。每 15 分钟,cron 将检查BitData()
要加载的最旧数据(在这种情况下)的时间戳,并将从该点解析数据,直到utc.now()
. 不幸的是,我无法通过查询 NDB 数据库以获取最新BitData()
对象的第一部分。
代码示例:
def bitcoincharts_last():
q = BitData.query()
q = q.order(BitData.tstamp)
if q == None:
return '0'
else:
return q[0]
这会在日志中显示错误:
TypeError: order() expects a Property or query Order; received <class 'google.appengine.ext.ndb.model.DateTimeProperty'>
使用q = q.order(-BitData.tsamp)
相反的顺序来代替响应给出:
TypeError: bad operand type for unary -: 'type'
我已经根据示例here、here和NDB Google Docs检查了我的代码,但我似乎无法找到查询无法运行的原因。
位数据:
class BitData(ndb.Model):
key = ndb.KeyProperty
tstamp = ndb.DateTimeProperty
price = ndb.IntegerProperty
amount = ndb.IntegerProperty