【发布时间】:2023-03-17 04:53:01
【问题描述】:
两个具有父子关系的声明性类,最小的孩子是最重要的孩子,因此 youngest_child_id 列会很有用。
这里有两种关系——从父到子的一对一和从父到子的一对多,但这会创建多个连接路径
类似于以下内容:
class Parent(Base):
__tablename__ = 'parents'
id = Column(Integer, primary_key=True)
youngest_child_id = Column(Integer, foreign_key='Child.id')
youngest_child = relationship("Child", uselist=False, foreign_keys=[youngest_child_id])
children = relationship("Child", back_populates='parent')
Class Child(Base):
__tablename__ = 'children'
id = id = Column(Integer, primary_key=True)
parent_id = Column(Integer, foreign_key='Parent.id')
parent = relationship("Parent", back_populates='children')
我创建的这个和其他一些变体引发了 AmbiguousForeignKeysError:
发生异常:sqlalchemy.exc.AmbiguousForeignKeysError
可以 无法确定父/子表之间的连接条件 关系Parent.children
这是哪里出了问题,可以通过 ORM 实现吗?
【问题讨论】:
标签: python orm sqlalchemy foreign-keys