首頁 > 資料庫 > mysql教程 > 如何執行連接多個資料表的單一 SQLAlchemy 查詢?

如何執行連接多個資料表的單一 SQLAlchemy 查詢?

Susan Sarandon
發布: 2024-12-28 17:06:10
原創
598 人瀏覽過

How to Perform a Single SQLAlchemy Query Joining Multiple Tables?

使用單一查詢連接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"))
登入後複製

要為特定使用者擷取所需格式的結果,請依照下列步驟操作:

  1. 先使用查詢功能:
q = Session.query(
    User, Document, DocumentPermissions
)
登入後複製
  1. 使用過濾器建立表格之間的關係方法:
q.filter(
    User.email == Document.author
)
登入後複製
  1. 根據需要添加其他關係:
q.filter(
    Document.name == DocumentPermissions.document
)
登入後複製
  1. 根據所需的使用者電子郵件指定篩選條件:
q.filter(
    User.email == 'someemail'
)
登入後複製
  1. 最後,使用以下指令執行查詢all 方法來擷取結果。

透過遵循這種方法,可以使用單一 SQLAlchemy 查詢有效地連接多個表。

以上是如何執行連接多個資料表的單一 SQLAlchemy 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板