집 >데이터 베이스 >MySQL 튜토리얼 >여러 테이블을 조인하는 단일 SQLAlchemy 쿼리를 수행하는 방법은 무엇입니까?
단일 쿼리로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!