使用單一查詢連接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中文網其他相關文章!