SQLAlchemy «многие ко многим» с одной ссылкой для нескольких таблиц - PullRequest
0 голосов
/ 12 ноября 2018

Я пишу 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 об отношениях здесь , но не нашел ничего полезного.Кто-нибудь знает, как установить отношения многие ко многим между двумя таблицами выше?

...