1

我在实体 A 中有一个 *Key 引用实体 B。我可以将数据放入数据存储中而不会出错,但是当尝试从 Datastore Viewer 浏览实体 A 时,会出现以下错误:

'为参考属性 %s 找到了不完整的键。' % name) BadValueError: 为引用属性 ds_key 找到不完整的键。

似乎责怪钥匙不完整。如果我使用 NewKey() 获取完整的密钥,我需要手动为密钥提供唯一的字符串或整数 ID,这不是我想要的。我只想让数据存储区为我生成一个 B 的密钥,并从实体 A 中保留该密钥。

谢谢

4

1 回答 1

1

Put()即使您Put()使用不完整的密钥,也会返回完整的密钥。你需要

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

现在A将正确引用B.

于 2013-08-17T22:31:17.957 回答