How to define two relationships to the same table in SQLAlchemy
As of version 0.8, SQLAlchemy can resolve the ambiguous join using only the foreign_keys keyword parameter to relationship. publish_user = relationship(User, foreign_keys=[publishing_user_id], backref=backref(‘pages’, order_by=id)) edit_user = relationship(User, foreign_keys=[last_edit_user_id]) Documentation at http://docs.sqlalchemy.org/en/rel_0_9/orm/join_conditions.html#handling-multiple-join-paths