class User(Base):
__tablename__ = '_users'
id = Column(String(), primary_key=True)
firstname = Column(String(100))
lastname = Column(String(100))
reg_date = Column(DateTime(), server_default=text('CURRENT_TIMESTAMP'))
transactions = relationship('InnerTransaction')
class InnerTransaction(Base):
__tablename__ = '_transactions'
id = Column(Integer(), primary_key=True, autoincrement=False)
sender_id = Column(String(), ForeignKey('_users.id'))
receiver_id = Column(String(), ForeignKey('_users.id'))
amount = Column(String())
created_at = Column(DateTime(), server_default=text('CURRENT_TIMESTAMP'))
Эти модели корректно создают таблицы, но при обращении к таблицам возникает ошибка:
Exception has occurred: AmbiguousForeignKeysError
Could not determine join condition between parent/child tables on relationship User.transactions - there are multiple foreign key paths linking the tables. Specify the 'foreign_keys' argument, providing a list of those columns which should be counted as containing a foreign key reference to the parent table.
В документации есть похожие примеры, однако как их применить на свой случай я не разобрался.
Как правильно организовать связь таблиц с несколькими внешними ключами?