首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ndb进行建模

使用ndb进行建模
EN

Stack Overflow用户
提问于 2014-06-01 23:29:17
回答 4查看 186关注 0票数 0

我是ndb的新手。这是我的结构通常的样子:

代码语言:javascript
复制
a = [b, c]
b = [d, e, f]
d = [g, h]
e = [k, l, m, n]
f = [o]
c = [p, r, t]

我有以下的模型。

代码语言:javascript
复制
class Child(ndb.Model):
    name = ndb.StringProperty()
    child = ndb.KeyProperty(kind="Child", repeated=True)

class Root(ndb.Model):
    name = ndb.StringProperty()
    child = db.StructuredProperty(Child, repeated=True)

我不能这样做,因为ndb不允许我重复,因为我已经重复了Child。

对这种结构进行建模的正确方法是什么?

EN

Stack Overflow用户

发布于 2014-06-07 08:27:41

我不明白你为什么要给孩子做KeyProperty检查。你可以这样模拟你的关系:

代码语言:javascript
复制
class Child(ndb.Model):
    name = ndb.StringProperty()

class Root(ndb.Model):
    name = ndb.StringProperty()
    child = ndb.KeyProperty(repeated=True)

c1 = Child(name="b").put()
c2 = Child(name="c").put()
a = Root(child=[c1,c2]).put() # put returns the key; otherwise you would need c1.key() here
children_keys = a.get().child # [Key(Child, 1234), Key(Child, 4567)]
# to retrieve the children, you could do
children = [ key.get() for key in children_keys ]
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23981412

复制
相关文章

相似问题

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