使用单个查询连接 SQLAlchemy 中的多个表
要在 SQLAlchemy 中执行涉及多个表的全面连接操作,必须遵循具体做法。考虑提供的 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"))
要为特定用户检索所需格式的结果,请按照以下步骤操作:
q = Session.query( User, Document, DocumentPermissions )
q.filter( User.email == Document.author )
q.filter( Document.name == DocumentPermissions.document )
q.filter( User.email == 'someemail' )
通过遵循这种方法,可以使用单个 SQLAlchemy 查询有效地连接多个表。
以上是如何执行连接多个表的单个 SQLAlchemy 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!