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"这样的blob,ProductId是["MzIx","MzQ1","NDU2"]而不是['345','456','567']和相似性得分为["MC45OA==","MC44Nw==","MC43Nw=="]而不是['0.98','0.89','0.77']任何人知道为什么会这样以及如何获得正确的值。
问题是在python 2中字符串表示为bytestream,您必须将其转换为Unicode才能在gcloud数据存储中正确查看结果。只需使用 unicode() 方法即可解决此问题。