SELECT * FROM Feedback WHERE text =! None
Nul
,也不起作用。
它不起作用......那我应该怎么写这个查询呢?
答案 0 :(得分:3)
来自GAE文件: 无法查询缺少给定属性的实体。另一种方法是创建一个默认值为None的固定(建模)属性,然后为具有None作为属性值的实体创建一个过滤器。
您可以通过以下方式获得相同的结果:
def notnulls():
return [z for z in db.GqlQuery('SELECT * FROM Feedback') if z.text]
这将返回一个Feedback对象列表,其中text字段不是None。虽然这确实有首先加载所有反馈对象的额外开销。
答案 1 :(得分:2)
具有null的实体不包含在该查询的索引中。您可能希望实际存储虚拟值,例如“无”/“空”。 (参考http://code.google.com/appengine/docs/python/datastore/queries.html#Restrictions_on_Queries)
答案 2 :(得分:1)