python - 如何构造 GQL 以不包含集合中的值?

标签 python google-app-engine gql gqlquery

是否可以从 Google App Engine 数据库中选择 db.Model 对象的键不在给定列表中?如果是这样,语法是什么?

模型类示例:

class Spam(db.Model):
    field1 = db.BooleanProperty(default=false)
    field2 = db.IntegerProperty()

我想处理但无法弄清楚的查询示例:

spam_results = db.GqlQuery(
"SELECT * FROM Spam WHERE key NOT IN :1 LIMIT 10", 
['ag1waWNreXByZXNlbnRzchMLEgxBbm5vdW5jZW1lbnQYjAEM', 
 'ag1waWNreXByZXNlbnRzchMLEgxBbm5vdW5jZW1lbnQYjgEM'])

for eggs in spam_results:
  print "id: %s" % a.key().id()

最佳答案

否 尽管应用引擎支持“IN”查询,但它不支持“NOT IN”查询。

但是,如果您想要的实体列表很小,那么您不妨检索每个实体并过滤掉您不想要的实体需要你自己。

或者,如果您要排除的实体列表占所有实体的很大一部分,则上述解决方案的效率会相当低。相反,也许您可​​以向您的模型添加一个额外的属性,您可以使用它来过滤掉您不需要的实体(这是否可能取决于您的特定需求和数据)。

关于python - 如何构造 GQL 以不包含集合中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3807591/

相关文章:

google-app-engine - 设计应用引擎数据存储和文本搜索建模的最佳方式

python - 如何在 Django 中获取 super 用户详细信息?

python - python (4.2) python 2.7.14 : ensure that workers are registered and have sufficient resources

python - 如何使用纬度和经度坐标进行分组?

python - 按键释放时的 Tkinter <Return> 事件

java - 如何在google端点中处理和调用不同版本的API?

google-app-engine - 如何在 Golang 中创建和渲染基本模板?

google-app-engine - 谷歌应用引擎: fails on deployment but works perfectly locally -- nonresponsive html form submit button

Python:GQuery 结果集(GQL、GAE)上的 DISTINCT

java - 如何在 JDO 中进行批量 Google DataStore 键查找查询