Я пишу ORM на основе SQLAlchemy для базы данных, где несколько пар таблиц связаны одной таблицей ссылок.Эта таблица ссылок имеет четыре столбца: from_table_name
, from_table_key
, to_table_key
, to_table_key
.
Я хочу установить связь между многими таблицами в базе данных.Обычно я делаю что-то вроде:
class Table1(Base):
__tablename__ = 'table_1'
id = Column(Integer, primary_key=True)
# some other columns here
data_from_table_2 = relationship('Table2', secondary='link')
class Table2(Base):
__tablename__ = 'table_2'
id = Column(Integer, primary_key=True)
# some other columns here
data_from_table_1 = relationship('Table1', secondary='link')
class Link(Base):
__tablename__ = 'link'
table_1_id = Column(Integer, ForeignKey('table_1.id'), primary_key=True)
table_2_id = Column(Integer, ForeignKey('employee.id'), primary_key=True)
Однако в данном случае это не работает, потому что мне нужно указать не только ключ в моей таблице ссылок, но и имя связанной таблицы.,
Для вдохновения я просматривал документы SQLAlchemy об отношениях здесь , но не нашел ничего полезного.Кто-нибудь знает, как установить отношения многие ко многим между двумя таблицами выше?