단일 쿼리로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!