Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在flask web app中处理用户数据库而不使用类似SQLAlchemy的ORM_Python_Sql_Orm_Flask_Sqlalchemy - Fatal编程技术网

Python 在flask web app中处理用户数据库而不使用类似SQLAlchemy的ORM

Python 在flask web app中处理用户数据库而不使用类似SQLAlchemy的ORM,python,sql,orm,flask,sqlalchemy,Python,Sql,Orm,Flask,Sqlalchemy,我看到的大多数Flask教程和示例都使用诸如SQLAlchemy之类的ORM来处理与用户数据库的接口。如果您对SQL有一个基本的工作知识,那么这个额外的抽象级别是否有必要?我很想自己编写一个轻量级的接口/ORM,这样我就能更好地理解正在发生的事情,并完全控制查询、插入等。但是,这种方法是否存在我没有考虑到的陷阱,可能会随着项目变得更复杂而突然出现,这让我希望使用像SQLAlchemy这样更重的ORM?否,ORM不是必需的,只是非常方便。SQLAlchemy将为您管理连接、池、会话/事务以及各种各

我看到的大多数Flask教程和示例都使用诸如SQLAlchemy之类的ORM来处理与用户数据库的接口。如果您对SQL有一个基本的工作知识,那么这个额外的抽象级别是否有必要?我很想自己编写一个轻量级的接口/ORM,这样我就能更好地理解正在发生的事情,并完全控制查询、插入等。但是,这种方法是否存在我没有考虑到的陷阱,可能会随着项目变得更复杂而突然出现,这让我希望使用像SQLAlchemy这样更重的ORM?

否,ORM不是必需的,只是非常方便。SQLAlchemy将为您管理连接、池、会话/事务以及各种各样的其他事情。它抽象了数据库引擎之间的差异。它在方便的集合中跟踪表之间的关系。它通常使处理复杂数据变得更容易

如果您关心性能,SQLAlchemy有两层,orm和核心。降低到核心会牺牲一些便利性以获得更好的性能。它不会像直接使用数据库驱动程序那样快,但对于大多数用例来说速度足够快

但是不,你不必使用它