为了通过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