我有一个Google数据存储区实体(“用户”),该实体当前为空,而我尝试插入新记录的代码中。在插入新记录之前,我正在验证记录是否存在,但是由于某种原因,我从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))
答案 0 :(得分:2)
我相信查询将始终返回迭代器。请参见google.cloud.datastore.query.Iterator上的此页面。迭代器使您可以逐步浏览结果。这包括没有结果的查询响应。似乎名为num_results
的属性对我们来说可能很有价值,因为它似乎返回可以迭代的结果数。如果num_results
为0,则查询未返回任何项目。