我有一个项目表,其中两列分别为“语言”和“标签”。
用户给出一个 后input
,我想输出所有language
isinput
或tag
is的项目input
。
上面的 Sql 查询是这样的,
sql查询:
Select * from TableName where language='input' OR tag='input'
我试图在 Gql 中执行相同的操作,但徒劳无功。以上述方式输出数据的 Gql 中的查询应该是什么。
我有一个项目表,其中两列分别为“语言”和“标签”。
用户给出一个 后input
,我想输出所有language
isinput
或tag
is的项目input
。
上面的 Sql 查询是这样的,
sql查询:
Select * from TableName where language='input' OR tag='input'
我试图在 Gql 中执行相同的操作,但徒劳无功。以上述方式输出数据的 Gql 中的查询应该是什么。
GQL 没有OR
,所以基本上你必须进行两个单独的查询和联合结果:
Select * from TableName where language='input'
Select * from TableName where tag='input'
您应该在应用端加入结果,Cloud Console 也不支持此类内容。
请参阅 GQL 参考:https ://cloud.google.com/datastore/docs/apis/gql/gql_reference
我不知道你是否必须使用 GQL,但如果你能够避免它,你可以使用 ndb 过滤器来代替。
results = TableName.query(ndb.OR(TableName.language == 'input',
TableName.tag == 'input'))
for result in results:
....your code here...
更多信息:https ://cloud.google.com/appengine/docs/python/ndb/queries