我的 GAE 应用程序的 index.yaml 文件不再由开发服务器更新。我最近在我的应用程序中添加了一种新类型和一个像这样查询这种类型的处理程序:
from google.appengine.ext import ndb
class MyKind(ndb.Model):
thing = ndb.TextProperty()
timestamp = ndb.DateTimeProperty(auto_now_add=True)
在处理程序中我有一个查询
query = MyKind.query()
query.order(-MyKind.timestamp)
logging.info(query.iter().index_list())
entities = query.fetch(100)
for entity in entities:
# do something
AFAIK,开发服务器应该为此查询创建一个索引并相应地更新 index.yaml。然而,事实并非如此。它看起来像这样:
indexes:
# AUTOGENERATED
logging.info(query.iter().index_list())
应该输出用于查询的索引,它只是说“无” 。此外,SDK 控制台显示“数据存储区不包含索引”。
运行查询会返回未排序的实体。我有两个问题:
我的代码中是否存在一些语法错误导致查询结果未排序或者是缺少索引?
如果是缺少索引,有没有办法手动强制开发服务器更新 index.yaml?其他建议?
谢谢