単一クエリによる 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 中国語 Web サイトの他の関連記事を参照してください。