class MyEntity(db.Model):
timestamp = db.DateTimeProperty()
title = db.StringProperty()
number = db.FloatProperty()
db.GqlQuery("SELECT * FROM MyEntity WHERE title = 'mystring' AND timestamp >= date('2012-01-01') AND timestamp <= date('2012-12-31') ORDER BY timestamp DESC").fetch(1000)
这应该在应用引擎上获取约 600 个实体。在我的开发服务器上,它按预期运行,构建 index.yaml,我上传它,在服务器上测试,但在应用引擎上它不返回任何内容。
Index:
- kind: MyEntity
properties:
- name: title
- name: timestamp
direction: desc
我尝试在数据存储查看器上拆分查询,以查看问题出在哪里以及时间戳约束按预期工作。该查询WHERE title = 'mystring'
何时应该返回一堆实体,但什么也不返回。
我隐约记得您必须使用属性和运算符之间的空格进行调用的繁琐过滤.filter("prop =",propValue)
,但这是一个 GqlQuery,所以不是那样的(我也用 GQL 尝试过这种格式)。
有谁知道我的问题是什么?
我能想到的一件事:在我的开发服务器上创建并上传新索引之前,我通过 BulkLoader.py 将 MyEntity 实体列表添加到应用程序中。那会有什么不同吗?