如何正确访问和使用烧瓶sqlalchemy中的sqlalchemy方法

时间:2020-03-20 10:51:38

标签: python sqlalchemy flask-sqlalchemy

请咨询如何将sqlalchemy与烧瓶sqlalchemy一起使用,因为两者几乎没有什么不同,例如

sqlalchemy示例

from sqlalchemy.orm import sessionmaker

Session = sessionmaker(bind=engine)
session = Session()
ed_user = User(name='ed', fullname='Ed Jones', nickname='edsnickname')
session.add(ed_user)

sqlalchemy示例

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
db = SQLAlchemy(app)
ed_user = User(name='ed', fullname='Ed Jones', nickname='edsnickname')
db.session.add(ed_user)

问题是,我们如何将“ sqlalchemy”中的方法带到Flask中,并同时使用它们,而又不将它们分开并使其一起工作? 更好的问题是如何在烧瓶内使用sqlalchemy并在烧瓶内使用其所有方法?

1 个答案:

答案 0 :(得分:0)

对于我的问题,我感到很抱歉,我进行了尝试并尝试发现,当处于flask-sqlalchemy中时,它很容易从sqlalchemy中访问方法。而且事实证明,当我们仅导入SQLAlchemy时,所有方法都已被导入。考虑下面的示例

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
db = SQLAlchemy(app)

Now all methods from sqlalchemy can be accessed just by
db.aliased 
#(instead of from sqlalchemy.orm import aliased)

db.func
#(instead of from sqlalchemy import func)

db.exists
#(instead of from sqlalchemy.sql import exists)

db.relationship
#(instead of from sqlalchemy.orm import relationship)

db.ForeignKey
#(instead of from sqlalchemy import ForeignKey)

db.Table
#(instead of from sqlalchemy import Table,)

以此类推