0
我是Flask開發新手。但我注意到,即使他們使用PostgreSQL作爲他們的數據庫,人們也正在使用SQLAlchemy。我想知道爲什麼它是必需的。提前致謝。爲什麼我們必須在Flask應用程序開發中使用SQLAlchemy和PostgreSQL?
我是Flask開發新手。但我注意到,即使他們使用PostgreSQL作爲他們的數據庫,人們也正在使用SQLAlchemy。我想知道爲什麼它是必需的。提前致謝。爲什麼我們必須在Flask應用程序開發中使用SQLAlchemy和PostgreSQL?
您不需要在Flask和Postgresql中使用SQLAlchemy。在底層,SQLAlchemy使用Psycopg數據庫適配器(http://initd.org/psycopg/docs/),如果您願意,您可以直接在Flask應用程序中使用它。
的主要原因大多數人可能選擇使用SQLAlchemy是:
我想從任何特定的數據庫獨立添加到列表中。正確使用,從Postgres切換到任何其他數據庫就像更改配置一樣簡單。 – chepner
感謝您的精心解答。我正在通過這個項目的例子[鏈接](https://realpython.com/blog/python/flask-by-example-part-2-postgres-sqlalchemy-and-alembic/)爲我自己的項目,但我couldn不明白在這裏使用SQLAlchemy的目的。同樣的另一個項目[鏈接](http://blog.sahildiwan.com/posts/flask-and-postgresql-app-deployed-on-heroku/)。兩者都使用SQLAlchemy,就像它有一個基本需求。那麼他們是否將它用於ORM部分或會話感知部分? @ user783836 – f0rtyseven
在這兩種情況下,他們都使用ORM,例如'類Result(db.Model):'正在定義。擴展SQLAlchemy'Model'類的'Result'類。在第一種情況下,他們正在使用一個db遷移工具,我假設它綁定到SQLAlchemy。第二,他們另外使用'SQLAlchemy'從他們的數據模型(另一個特性)創建他們的數據庫。你會發現SQLAlchemy已經存在了很長時間,以至於你想要使用的其他很酷的工具都假設你默認使用它。 – user783836