为 input_reader 使用新的 Google App Engine MapReduce 库过滤器我想知道如何按 ndb.Key 过滤。
我阅读了这篇文章,并且在过滤器元组中使用过 datetime、string、int、float,但是如何通过 ndb.Key 过滤?
当我尝试按 ndb.Key 过滤时,出现此错误:
BadReaderParamsError: Expected Key, got u"Key('Clients', 406)"
或者这个错误:
TypeError: Key('Clients', 406) is not JSON serializable
我试图传递 ndb.Key 对象和 ndb.Key 的字符串表示形式。
这是我的两个过滤器元组:
样品 1:
input_reader': {
'input_reader': 'mapreduce.input_readers.DatastoreInputReader',
'entity_kind': 'model.Sales',
'filters': [("client","=", ndb.Key('Clients', 406))]
}
样本 2:
input_reader': {
'input_reader': 'mapreduce.input_readers.DatastoreInputReader',
'entity_kind': 'model.Sales',
'filters': [("client","=", "%s" % ndb.Key('Clients', 406))]
}