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的情况下将表的定义与其实现完全分离