0
task = datastore.Entity(client.key('ModelDataTest', prod_id)) 
     task.update({ 
      'ProductId': '1234', 
      'ListOfRankedRelevantItems.ProductId': ['345', '456','567'], 
      'ListOfRankedRelevantItems.SimilarityScore': ['0.98', '0.89','0.77'] 
     }) 
     client.put(task) 

Используя приведенный выше код я создаю объект в хранилище данных GC- Однако я получаю prod_id, как двоичный объект, как «MTIzNDU =» вместо строки «1234» и ProductId как [«MzIx», «MzQ1», «NDU2»] вместо ['345', '456', '567'] и SimilarityScore как ["MC45OA ==", "MC44Nw ==", "MC43Nw = = "] вместо ['0.98', '0.89', '0.77'] любой, кто имеет какую-либо идею, почему так и как получить правильные значения.Хэшировано или случайные значения получать вставлены в Google Cloud датасторе

ответ

0

Проблема в том, что строка python 2 представлена ​​как поток, и вам нужно преобразовать ее в Юникод, чтобы правильно отобразить результаты в gcloud datastore. Просто используйте метод unicode() для решения этой проблемы.