首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种方法可以在gcloud-python中保存嵌套的实体?

有没有一种方法可以在gcloud-python中保存嵌套的实体?
EN

Stack Overflow用户
提问于 2016-06-27 11:07:33
回答 1查看 1.6K关注 0票数 2

我试图将一个对象保存到Cloud中,该对象包含一个作为属性值的字典:

代码语言:javascript
复制
client = datastore.Client(project_id)
key = client.key('Config', 'config', 'Environment', 'env_name')
env = datastore.entity.Entity(key)
env['prop1'] = dict(foo='bar')
client.put(env)

但它增加了

ValueError:未知原型

虽然我可以使用gcloud节点来完成这个任务。

是否可以使用gcloud-python保存复合对象?

EN

回答 1

Stack Overflow用户

发布于 2016-06-28 13:51:12

听起来你对存储一个嵌入式实体很感兴趣,我相信这就是gcloud节点自动实现的功能。

我认为您可以通过将字段(prop1)设置为包含子属性(foo)设置为'bar'datastore.Entity来做到这一点。

代码语言:javascript
复制
client = datastore.Client(project_id)
key = client.key('Config', 'config', 'Environment', 'env_name')
env = datastore.Entity(key)
env['prop1'] = datastore.Entity(key=client.key('EmbeddedKind')
env['prop1']['foo'] = 'bar'
client.put(env)

当你把这个拿回来的时候,看起来就像.

代码语言:javascript
复制
>>> c.get(env.key)
<Entity[{'kind': u'Config', 'name': u'config'}, {'kind': u'Env', 'name': u'env_name'}] {u'prop1': <Entity[{'kind': u'Embedded'}] {u'foo': 'bar'}>}>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38052386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档