【发布时间】:2014-02-01 06:01:10
【问题描述】:
我正在使用 GAE Python。我有两个根实体:
class X(ndb.Model):
subject = ndb.StringProperty()
grade = ndb.StringProperty()
class Y(ndb.Model):
identifier = ndb.StringProperty()
name = ndb.StringProperty()
school = ndb.StringProperty()
year = ndb.StringProperty()
result = ndb.StructuredProperty(X, repeated=True)
由于 google 将我们的数据存储在多个数据中心,当我们进行如下所示的查询时,我们可能无法获得最新的数据(以防某些更改已被“放置”):
def post(self):
identifier = self.request.get('identifier')
name = self.request.get('name')
school = self.request.get('school')
year = self.request.get('year')
qry = Y.query(ndb.AND(Y.name==name, Y.school==school, Y.year==year))
record_list = qry.fetch()
我的问题:我应该如何修改上面的 fetch 操作以始终获取最新数据
我已经浏览了相关的google help doc,但不明白如何在这里应用
根据 Isaac 回答的提示,以下是解决方案吗(“latest_record_data”是否包含实体的最新数据):
def post(self):
identifier = self.request.get('identifier')
name = self.request.get('name')
school = self.request.get('school')
year = self.request.get('year')
qry = Y.query(ndb.AND(Y.name==name, Y.school==school, Y.year==year))
record_list = qry.fetch()
record = record_list[0]
latest_record_data = record.key.get()
【问题讨论】:
标签: python google-app-engine google-cloud-datastore app-engine-ndb