我正在尝试创建一个边缘类型类来链接两个节点。每个节点本身都是一个类,节点和边缘都应该是同一个图的一部分。我一直在
@if (!empty(Auth::user()))
即使定义了外键。我尝试在节点表Could not determine join condition between parent/child tables on relationship TypeiNode.edges - there are no foreign keys linking these tables.
关系上定义外键,但得到了相同的结果。有人能告诉我这个例子有什么问题。
edges
答案 0 :(得分:0)
如果您仔细阅读错误,您会注意到它并没有抱怨您添加了foreign_keys
参数的关系,而是您没有注意到的关系:
Could not ... on relationship **TypeiNode.edges** ...
我拿
我尝试在节点表边缘关系上定义外键,但结果相同。
表示您没有尝试同时定义两端。所以解决方案是在两端定义外键:
class Type1Node(Base):
__tablename__ = 'type_1_node'
id = Column(Integer, primary_key=True)
graph_id = Column(Integer, ForeignKey('graph.id'))
graph = relationship('Graph')
edges = relationship('Edge', back_populates='type_1_node',
foreign_keys=[Edge.type_1_node_id, Edge.graph_id])