存储* GAE本地数据存储区的密钥在DataStoreViewer中给出错误

时间:2013-08-17 19:24:18

标签: google-app-engine go google-cloud-datastore

我有一个*密钥在实体A引用实体B. 我可以将数据放入数据存储而没有错误,但是当尝试从数据存储查看器浏览实体A时,它会出现以下错误:

  

'找到参考资产%s的不完整密钥。' % 名称)   BadValueError:为参考属性ds_key找到不完整的密钥。

似乎指责关键是不完整的。如果我使用NewKey()来获取一个完整的密钥,我需要手动为密钥提供一个唯一的字符串或int ID,这不是我想要的。我只希望数据存储区为我生成B的密钥,并保留来自实体A的密钥。

感谢

1 个答案:

答案 0 :(得分:1)

即使您Put()使用不完整的密钥,

Put()也会返回完整的密钥。你需要

  1. B生成不完整的密钥(无需手动提供唯一ID)。
  2. Put() B到数据存储区并查看返回值,以便您拥有完整的密钥。
  3. 在实体A中使用该值。
  4. Put() A到数据存储区。
  5. 现在A会正确引用B