【发布时间】:2015-11-29 18:03:58
【问题描述】:
我正在 Google App Engine 上编写一个 Python 应用程序,我需要一个 ndb 查询,但问题是查询可以是不同的类类型,所以我正在寻找 clss.Query() 以外的方法。我需要clss 作为变量。我也可以使用过滤器吗?
【问题讨论】:
标签: python google-app-engine google-cloud-datastore app-engine-ndb
我正在 Google App Engine 上编写一个 Python 应用程序,我需要一个 ndb 查询,但问题是查询可以是不同的类类型,所以我正在寻找 clss.Query() 以外的方法。我需要clss 作为变量。我也可以使用过滤器吗?
【问题讨论】:
标签: python google-app-engine google-cloud-datastore app-engine-ndb
事实上,documentation 中提到了一种方法:
from google.appengine.ext import ndb
ndb.Query(kind=clss)
您也可以使用过滤器,方法是在查询中将过滤器作为参数传递:
ndb.Query(kind=clss, filters=...)
或者像你通常做的那样在查询上应用filter():
ndb.Query(kind=clss).filter()
【讨论】:
clss 是一个 variable 作为 OP 假设,你绝对必须丢失你正在使用的引号 - kind=clss 是正确的, not kind="clss" 其中引号会使 RHS 变成 constant 文字字符串!请在您原本出色的答案中解决这个大问题(在三个地方)...