Firestore в Python возвращает генераторы, которые создаются после получения запроса от клиента, и происходит как при запросе одного документа, так и нескольких.Google.cloud.exceptions.NotFound может быть возвращен на некоторых API, которые возвращают один и только один объект.Возможно, вы ищете:
try:
game_doc = db.collection(u'games').document(str(game['id'])).get()
game_dict = game_doc.to_dict()
# exists
if game_dict is not None:
if game_dict['updated_at'] != game['updated_at']:
# update
print("Updating game")
add_game(game)
else:
# add
print("Adding game")
add_game(game)
except:
# Handle Other Exceptions.
Чтобы узнать больше о генераторах : " Генератор очень похож на функцию, которая возвращает массив, в том смысле, что генераторимеет параметры, может вызываться и генерирует последовательность значений, однако вместо создания массива , содержащего все значения и возвращающего их все сразу, генерирует значения по одному за раз, что требуетменьше памяти и позволяет вызывающему абоненту сразу начать обработку первых нескольких значений"