我有一个像这样的简单模型
class ChatMessage(Base):
__tablename__ = 'chat_messages'
id = Column(Integer, ForeignKey('messages.id'))
sender_id = Column(Integer, ForeignKey('users.id'))
receiver_id = Column(Integer, ForeignKey('users.id'))
我尝试添加与用户相关的消息。
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String, nullable=False)
chat_messages = relationship("ChatMessage", backref="participants",
foreign_keys="[ChatMessage.sender_id, ChatMessage.receiver_id]")
它给:
InvalidRequestError:一个或多个映射器无法初始化 - 无法继续初始化其他映射器。最初的例外是:无法确定关系 User.chat_messages 上的父/子表之间的连接条件 - 有多个外键路径链接表。指定“foreign_keys”参数,提供那些列的列表,这些列应该被视为包含对父表的外键引用。