使用Flask-SQLAlchemy而不是原始sqlite语句的优点

时间:2018-02-17 19:19:13

标签: python flask sqlalchemy

我主要在我的烧瓶应用程序中使用原始sqlite表达式。我最近开始玩flask-SQLAlchemy。我想知道在我的应用程序中使用sqlalchemy而不是RAW sqlite表达式的主要优点是什么。我知道使用ORM我没有锁定在一个数据库引擎中,我可以切换到Mysql,例如不更改ORM代码。还有其他优点吗?

在我的烧瓶应用程序中,我使用:

from flask import g
import sqlite3

@app.before_request
def before_request():
    g.db = sqlite3.connect(DATA_DIR + "/myDB.db")

@app.teardown_request
def teardown_request(exception):
    if hasattr(g, 'db'):
        g.db.close() 

在这种情况下,当我想更改数据库结构时,我只需使用像Navicat这样的智能应用程序,然后更新原始语句。在SQLAlchemy中,改变结构几乎没有什么痛苦。非常感谢你提前。

1 个答案:

答案 0 :(得分:1)

来自Why should you use an ORM?

使数据访问更加抽象和便携。 ORM实现类知道如何编写特定于供应商的SQL,因此您不必这样做。 (比尔卡文)