google-app-engine - 查找 Google DataStore "not equal to empty string"正确的查询语法

标签 google-app-engine app-engine-ndb google-cloud-datastore

我有一个 Google App Engine 项目,它使用 DataStore 进行后端数据托管。

我正在尝试创建一个简单的查询来查询两个属性,其中一个属性“不等于”空字符串。

这是我想要实现的目标:

query = Race.query(ndb.AND(Race.processing == True, Race.assignment_id != ''))
races = query.fetch(limit)

但是,这不尊重 != 。我从文档中知道 !=本质上是 > 的组合和<运算符,但我不知道如何将其应用于空字符串。

以前有人尝试过吗? 如何查询两个属性,其中之一是“不等于空字符串”?:

  • Race.processing == True
  • Race.assignment_id != ''

最佳答案

通过我的远程 API 尝试过:

> x = User(first_name='test', last_name='')
> x.put()
Key('User', 5965989720096768)
> User.query(User.first_name=='test', User.last_name=='').count()
1
> User.query().count()
219L
> User.query(User.last_name!='').count()
218
> User.query(User.last_name=='').count()
1

按预期工作,仔细检查您的空字符串实际上不是空值

关于google-app-engine - 查找 Google DataStore "not equal to empty string"正确的查询语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39145414/

相关文章:

java - 通过 ID 检索用户对象

python - 获取 GAE Python 中所有 NDB 模型名称(类名称)的列表

python - 如何正确传递文本文件来搜索那里的数据?

python - 如何导入模块 PyImgur Python

python - App Engine 读取模块间的 DataStore 数据

python - 迁移 NDB 模型属性的正确方法

python - ndb 模型、装饰器、嵌套函数

ios - 通过 iOS 向 Google Cloud 端点发送数据时请求为空

python - Google 应用引擎静态文件处理程序示例

java - 为什么我得到 Only ancestor queries are allowed inside transactions 错误