Python 如何在不同的文件中定义多个具有关系的表(使用sqlalchemy ORM)
我在遵循这一点,这让我觉得我的目标是可行的,但我得到的错误(及其修复)告诉我不是这样 基本上,我在两个不同的文件中定义了两个表:Python 如何在不同的文件中定义多个具有关系的表(使用sqlalchemy ORM),python,sqlalchemy,Python,Sqlalchemy,我在遵循这一点,这让我觉得我的目标是可行的,但我得到的错误(及其修复)告诉我不是这样 基本上,我在两个不同的文件中定义了两个表: # parent.py class Control(Base): __tablename__ = "control" id = Column(Integer, autoincrement="auto", primary_key=True) active = Column(Boolean, nullable
# parent.py
class Control(Base):
__tablename__ = "control"
id = Column(Integer, autoincrement="auto", primary_key=True)
active = Column(Boolean, nullable=False)
tracks = relationship("Tracks", back_populates="control")
# child.py
from .parent import Control
class Tracks(Base):
__tablename__ = "tracks"
id = Column(Integer, autoincrement="auto", primary_key=True)
uri = Column(String, nullable=False)
control_id = Column(Integer, ForeignKey(Control.id))
control = relationship(Control, back_populates="tracks")
# main.py
from db.parent import Control
from db.child import Tracks
engine = db.create_engine(f"sqlite:///{db_file_name}", echo=True)
# Control.tracks = relationship(Tracks, back_populates="control") dirty solution
Control.metadata.create_all(bind=engine)
Tracks.metadata.create_all(bind=engine)
我的问题是如何在不重新定义Control.tracks的情况下将表的定义与其实现完全分离