4

SQLAlchemy の代わりに MySQL を使用する Pyramid プロジェクトをセットアップしようとしています。

私の Pyramid/Python の経験は限られているので、オンラインでガイドを見つけたいと思っていました。残念ながら、私たちを正しい方向に押し進めるものを見つけることができませんでした。ほとんどの検索結果は、SQLAlchemy で生の SQL/MySQL コマンドを使用しようとしている人に関するものでした (多くは再投稿されたリンクでした)。

誰でもこれに関する有用なチュートリアルを持っていますか?

4

3 に答える 3

10

Pyramidのベースは、永続性を支援するために特定のライブラリを使用することを想定していません。物事を簡単にするために、SQLALchemyなどのライブラリを使用したい人のために、PyramidライブラリにはScaffoldingが含まれています。これは基本的に基本サイト用の自動生成コードであり、SQLAlchemyや特定のルーティング戦略。ピラミッドのドキュメントは、SQLAlchemyなしで基本的なサイトをセットアップする「pyramid_starter」スキャフォールディングを使用して新しいプロジェクトを作成するためのガイドとなるはずです。

これにより、ビューを設定するために必要な基本がわかりますが、次に、データベースに接続できるようにするためのコードを追加する必要があります。幸い、サイトは単なるPythonコードであるため、PyramidでMySQLを使用する方法を学ぶことは、PythonでMySQLを使用する方法を学び、Pyramidプロジェクト内でまったく同じ手順を実行することです。

生のSQLクエリを使用したい場合でも、SQLAlchemyでいくつかの有用性が見つかる可能性があることに注意してください。基本レベルでは、SQLAlchemyはDBAPI呼び出しをラップアラウンドし、接続プールなどの便利な機能を追加します。ORM機能は、実際には、タイトな低レベルのSQLAlchemyツールセットへの大きな追加です。

于 2011-07-11T00:43:49.603 に答える
5

sqlalchemy は、その orm を使用することを想定していません。単純な sql を使用したい場合は、sqlalchemy が既に提供しているもの以外は何も使用せずに使用できます。たとえば、クックブックのレシピに従った場合、 として sqlalchemy セッション オブジェクトにアクセスできrequest.db、ハンドラーは次のようになります。

def someHandler(request):
    rows = request.db.execute("SELECT * FROM foo").fetchall()
于 2011-07-11T22:12:42.970 に答える
4

クイックチュートリアルは、SQLを使用するがSQLAlchemyを使用しないPyramidアプリケーションを示しています。SQLiteを使用しますが、MySQLへの適応はかなり簡単なはずです。

于 2011-07-11T19:41:08.210 に答える