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