다음은 sqlalchemy의 설명서입니다.SQLAlchemy 연결 개체의 외래 키가 기본 키로 표시되는 이유는 무엇입니까?
주의 첫 외래 키로 표시 협회 클래스에서 left_id 및 right_id을 위해, 그들이하는 방법을 다음 primary_key와 = 진정한
그것은 논리적으로는 외국 키이기 때문에 그들이 외래 키를해야한다고 나에게 의미가 있습니다 다른 두 개의 상위 W 하위 테이블.
그래서 기본 키가되는 목적은 무엇입니까?
무슨 일이 벌어지고 있니? 설명 해주십시오.
class Association(Base):
__tablename__ = 'association'
left_id = Column(Integer, ForeignKey('left.id'), primary_key=True)
right_id = Column(Integer, ForeignKey('right.id'), primary_key=True)
extra_data = Column(String(50))
child = relationship("Child", back_populates="parents")
parent = relationship("Parent", back_populates="children")
class Parent(Base):
__tablename__ = 'left'
id = Column(Integer, primary_key=True)
children = relationship("Association", back_populates="parent")
class Child(Base):
__tablename__ = 'right'
id = Column(Integer, primary_key=True)
parents = relationship("Association", back_populates="child")