Heim >Datenbank >MySQL-Tutorial >Wie führe ich eine einzelne SQLAlchemy-Abfrage durch, die mehrere Tabellen verbindet?
Mehrere Tabellen in SQLAlchemy mit einer einzigen Abfrage verbinden
Um eine umfassende Verknüpfungsoperation mit mehreren Tabellen in SQLAlchemy auszuführen, ist es wichtig, a zu befolgen spezifischer Ansatz. Berücksichtigen Sie die bereitgestellten zugeordneten SQLAlchemy-Klassen:
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"))
Um ein Ergebnis im gewünschten Format für einen bestimmten Benutzer abzurufen, führen Sie die folgenden Schritte aus:
q = Session.query( User, Document, DocumentPermissions )
q.filter( User.email == Document.author )
q.filter( Document.name == DocumentPermissions.document )
q.filter( User.email == 'someemail' )
Durch die Befolgung dieses Ansatzes wird es möglich, mehrere Tabellen mit einer einzigen SQLAlchemy-Abfrage effizient zu verknüpfen.
Das obige ist der detaillierte Inhalt vonWie führe ich eine einzelne SQLAlchemy-Abfrage durch, die mehrere Tabellen verbindet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!