SQL Alchemy可以很好地处理邻接结构,例如自引用表节点其中外键node.parent\u id与主键相关节点id。你知道吗
我有一个不太传统的模型,其中一个节点有两个父节点(系谱数据库)。在这种情况下,节点材料id和节点.pat\u id分别与父节点和母节点相关。SQL炼金术也可以:
mother = db.relationship("Node",
foreign_keys = "Node.mat_id", remote_side="Node.id")
father = db.relationship("Node",
foreign_keys = "Node.pat_id", remote_side="Node.id")
(使用声明性的)。你知道吗
所以得到一个节点的双亲是很简单的。我的问题是如何使用此设置获取节点的子节点。我找不到一种方法来建立一种相当于:
offspring = db.relationship("Node",
foreign_keys = "Node.mat_id | Node.pat_id")
我所能做到的最好的方法是分别声明mat\u foundary和pat\u foundary关系,并创建一个返回相应关系的成员函数foundary()。它工作,但似乎不雅。有更好更传统的方法吗?你知道吗
考虑到原始模式的限制,您走上了正确的道路。将连接条件作为^{} 传递,而不是
foreign_keys
:注意,由于连接条件更复杂,关系定义为view only。换句话说,您不能简单地通过它向节点添加子节点,因为您不能说父节点是新添加子节点的父节点还是母节点。从这个意义上说,你原来独立的母系和父系关系是优越的。你知道吗
相关问题 更多 >
编程相关推荐