我有一个 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/