sqlalchemy: como juntar várias tabelas por uma consulta?

| | | | | | | | | | |

Tenho as seguintes classes mapeadas SQLAlchemy:

class User(Base): __tablename__ = "users" email = Column(String, primary_key=True) name = Column(String) class Document (Base): __tablename__ = "documents" name = Column(String, primary_key=True) author = Column(String, ForeignKey("users.email")) class DocumentsPermissions(Base): __tablename__ = "documents_permissions" readAllowed = Column(Boolean ) writeAllowed = Column(Boolean) document = Column(String, ForeignKey("documents.name")) 

Preciso obter uma tabela como esta para user.email = " [email protected]":

email | nome | nome_documento | document_readPermitido | document_writeAllowed 

Como isso pode ser feito usando uma solicitação de consulta para SQLAlchemy? O código abaixo não funciona para mim:

result = session.query(User, Document, DocumentPermission).filter_by(email = "[email protected]").all() 

Obrigado,