Flask-SQLAlchemy是一个简单的Flask扩展,用于在Flask应用中集成SQLAlchemy轻量级ORM框架,它为我们提供了一个更加Pythonic的方式来在Flask应用中使用数据库。
安装Flask-SQLAlchemy
我们可以使用pip来安装Flask-SQLAlchemy:
pip install Flask-SQLAlchemy
配置数据库连接
在Flask应用中,我们需要配置数据库连接,以便可以与数据库进行交互。在Flask-SQLAlchemy中,我们可以使用SQLAlchemy的URI格式来指定数据库连接。
在我们的app中添加如下配置:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://localhost/example'
db = SQLAlchemy(app)
在此示例中,我们使用PostgreSQL数据库,数据库名为“example”,该数据库位于本地主机上。您可以更改该值以适应您的实际情况。
建立模型
我们使用SQLAlchemy的模型类来映射数据库表。这个模型类可以定义为一个Python类,它继承自SQLAlchemy提供的db.Model
类。在模型类中,我们可以定义属性和方法,这些属性和方法将构成表中的列和行为。
在我们的app中定义一个模型类:
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return '<User %r>' % self.username
在这个示例中,我们定义了一个User模型类,它有一个id属性,一个username属性和一个email属性。我们还定义了一个__repr__
方法,以便我们在控制台中查看User对象时打印有意义的内容。
创建数据库表
在我们的Flask应用程序中创建一个数据库实例后,我们需要使用db.create_all()
方法创建相应的表。
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://localhost/example'
db = SQLAlchemy(app)
# 创建数据库表
db.create_all()
运行上述代码将在PostgreSQL数据库中创建名为“users”的表。
模型查询
使用Flask-SQLAlchemy,我们可以使用模型查询语言(Model Query Language,简称为“MQL”)来查询表中的数据。
这里有两个简单的示例:
# 查询 User 表中所有记录
users = User.query.all()
print(users)
# 查询 User 表中的一条记录
user = User.query.filter_by(username='lily').first()
print(user)
这些查询都是使用User模型类中的db.query
属性实现的。具体的查询语句可以查看SQLAlchemy官方文档。
结语
以上是Flask-SQLAlchemy基本使用方法的完整攻略,包括Flask-SQLAlchemy的安装、配置、建立模型、创建表和模型查询,您可以据此快速了解Flask-SQLAlchemy的使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Flask-SQLALchemy基本使用方法 - Python技术站