为了通过ndb.IntegerProperty返回一个空列表

请看我下面的代码:为了通过ndb.IntegerProperty返回一个空列表

from google.appengine.ext import ndb 

class TestModel(ndb.Model):

num = ndb.IntegerProperty(required=False, default=0, indexed=False)

txt = ndb.StringProperty(required=True, indexed=False)

class TestHandler(BaseHandler):

def get(self):

for i in range(0, 20):

m = TestModel(num=i, txt=' hello world ')

m.put()

data = TestModel.query().order(TestModel.num).fetch(20) # empty list!

data = TestModel.query().order(-TestModel.num).fetch() # empty list!

count = TestModel.query().count() # 20

app = webapp2.WSGIApplication([

('/', TestHandler)

], debug=True)

我在做什么错? 我读过这篇文章https://developers.google.com/appengine/docs/python/ndb/queries?hl=ru#order

但我很困惑吧,请帮我这个

UDP: 它工作时testmodel实体超过20,如果你想订购

回答:

您通过TestModel.num的查询,您应该启用数据存储索引TestModel.num

num = ndb.IntegerProperty(required=False, default=0, indexed=True)

num = ndb.IntegerProperty(required=False, default=0)#默认索引=真

要在查询结果得到已经添加的实体,您需要重新把()所有这些实体。

有关数据存储索引的更多信息:https://developers.google.com/appengine/docs/python/datastore/indexes

以上是 为了通过ndb.IntegerProperty返回一个空列表 的全部内容, 来源链接: utcz.com/qa/265740.html

回到顶部