您可以通过以下方式构建它:首先对模型进行别名,然后将该别名用作外部联接的第二个表。以下假设您已经有一个绑定到工作引擎的会话:
from sqlalchemy.orm import aliasedfrom sqlalchemy import and_allocation_status2 = aliased(AllocationStatus)session.query(AllocationStatus). outerjoin(allocation_status2, and_(AllocationStatus.allocation_id == allocation_status2.allocation_id, AllocationStatus.id < allocation_status2.id)). filter(allocation_status2.id.is_(None)).all()
我希望这有帮助。



