Клиент Google Datastore query.fetch () возвращает итератор для ожидаемых пустых результатов - PullRequest
0 голосов
/ 03 октября 2018

У меня есть объект хранилища данных 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))

1 Ответ

0 голосов
/ 03 октября 2018

Я считаю, что запрос всегда будет возвращать итератор.Смотрите эту страницу на google.cloud.datastore.query.Iterator .Итератор позволяет пошагово просматривать результаты.Это включает в себя ответ на запрос, где нет результатов.Похоже, что свойство с именем num_results может иметь значение для нас, так как оно возвращает количество результатов, доступных для повторения.Если num_results равно 0, то запрос не вернул ни одного элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...