我正在看下面的例子。我的程序设置类似,但没有backref。我想要一对多的关系。孩子们不需要了解他们的父母。我只是一个但很困惑,因为行“node = TreeNode('rootnode')”,每次执行程序时都不会运行并可能创建重复项?
如何在没有父背光的情况下添加子节点?
我看到例如以下
node = TreeNode('rootnode')
TreeNode('node1', parent=node)
创建node1,名称为“node1”,并且它的父级单独传递。 parent在子关系中定义为
backref("parent", remote_side=id)
我不太需要孩子认识父母,只有父母认识孩子。你如何建立这种关系,让父母知道孩子?
http://docs.sqlalchemy.org/en/latest/_modules/examples/adjacency_list/adjacency_list.html
答案 0 :(得分:0)
rootnode = TreeNode('rootnode')
# assign "children" attribute straight away:
node1 = TreeNode('node1',
children=[TreeNode('node1.child1'), TreeNode('node1.child2')]
)
# or just manipulate as any regular list
rootnode.children.append(node1)
我链接到parent
的示例已经知道children
已定义relationship
个孩子{/ 1}}
children = relationship("TreeNode", # NOTE: now each TreeNode has "children"
# ...
backref=backref("parent", remote_side=id), # this line allows children to link to "parent"
# ...
)
因此