2017-02-18 4 views

答えて

2

FlaskとPostgresqlでSQLAlchemyを使用する必要はありません。フードの下では、SQLAlchemyはPsycopgデータベースアダプタ(http://initd.org/psycopg/docs/)を使用し、必要に応じてFlaskアプリケーションで直接使用することができます。ほとんどの人は、おそらくSQLAlchemyの使用を選択し

主な理由は以下のとおりです。

  1. ORM(オブジェクト・リレーショナル・マッパーhttp://docs.sqlalchemy.org/en/latest/orm/tutorial.html) - これは直接データベーステーブルにあなたのPythonのクラスをマッピングすることが本当に簡単になり、それを作りますあなたのPythonオブジェクトを介してデータベースを操作することが可能です
  2. セッション認識(http://flask.pocoo.org/docs/0.12/patterns/sqlalchemy/) - SQLAlchemyは、受信したWebリクエストの寿命に一致するデータベーストランザクションライフタイムを提供するようにFlaskに統合できます。各要求の接続、良いレベルの分離を提供する
+0

特定のデータベースからリストに独立性を追加したいと思います。 Postgresから他のデータベースへの切り替えは、設定を変更するだけで簡単に行えます。 – chepner

+0

精巧な答えをありがとう。私は自分のプロジェクトでこのプロジェクトの例[link](https://realpython.com/blog/python/flask-by-example-part-2-postgres-sqlalchemy-and-alembic/)を見ていましたが、ここでSQLAlchemyを使用する目的を理解していない。別のプロジェクト[link](http://blog.sahildiwan.com/posts/flask-and-postgresql-app-deployed-on-heroku/)と同じです。どちらもSQLAlchemyを使用していますが、基本的な必要性があります。それで、彼らはORMの部分またはセッションの意識の部分のためにそれを使用していますか? @ user783836 – f0rtyseven

+0

どちらの場合もORMを使用しています。 'class Result(db.Model):'が定義されています。 SQLAlchemyの 'Model'クラスを拡張する' Result'クラスです。最初のケースでは、データベース移行ツールを使用しています。これは、SQLAlchemyと関連していると仮定しています。 2番目のバージョンでは、データモデル(別の機能)からdbを作成するために 'SQLAlchemy'を使用しています。 SQLAlchemyは長持ちしているため、使用したいクールなツールは、デフォルトで使用していると仮定しています。 – user783836

関連する問題