python - Google Datastore Client query.fetch() 返回预期空结果的迭代器

标签 python python-3.x google-app-engine google-cloud-platform google-cloud-datastore

我有一个谷歌数据存储实体(“用户”),当前为空,并且从代码中我试图插入一条新记录。在插入新记录之前,我正在验证该记录是否存在,但由于某种原因,我从 query.fetch() 获得了不同的输出。我期望 query.fetch() 结果为空,但下面是它的输出。我对此不太确定

result <google.cloud.datastore.query.Iterator object at 0x7fee71d13ef0>

完整代码:

  def create(self):
    logger.log_text("create user request ")
    logger.log_text('email {}'.format(self.email))
    query = self.ds.query(kind=self.__tablename__)
    query.add_filter('email', '=', self.email)
    result = query.fetch()
    if result:
        logger.log_text('result {}'.format(result))

最佳答案

我相信查询将始终返回迭代器。请参阅 google.cloud.datastore.query.Iterator 上的此页面。迭代器允许您单步执行结果。这包括没有结果的查询响应。看起来名为 num_results 的属性可能对我们有值(value),因为它似乎返回可迭代的结果计数。如果 num_results 为 0,则查询未返回任何项目。

关于python - Google Datastore Client query.fetch() 返回预期空结果的迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52631422/

相关文章:

MongoDB 的 Python 日期对象

python - 设置区域设置和字符串模块

python - 年化 yield 转换函数返回复数

python - Keras:训练时出现值错误

Python - 使用重新采样而不使用平均值/均值进行下采样

python-3.x - 在一个解释器中获取 TypeError(元组分配),而不是另一个

python - 创建一个 1-100 之间的随机数,并且每次都不会改变

javascript - GAE 和 JavaScript 日期时间同步

node.js - Flex应用程序引擎中的node js应用程序中的devDependency

python - python中令人困惑的表达式