Python Flask数据库ORM操作指南

需积分: 0 0 下载量 75 浏览量 更新于2024-08-05 收藏 1.02MB PDF 举报
本资源主要介绍了如何在Flask框架中使用ORM操作SQLite数据库,包括配置数据库、初始化、创建模型、数据同步以及进行数据库操作的测试。 1. **数据库ORM操作实现** ORM(Object-Relational Mapping)是对象关系映射技术,允许开发者用Python对象的方式操作数据库。在Flask中,我们使用Flask-SQLAlchemy扩展来实现ORM。Flask-Migrate则用于数据库版本控制和迁移,使得数据库结构的变化能够安全地应用到现有数据库上。 2. **配置sqlite数据库** SQLite是一种轻量级的数据库,适合小型应用。在`app/config.py`配置文件中设置`SQLALCHEMY_DATABASE_URI`,指定数据库的路径。通常,数据库文件会放在应用的实例目录下,例如`instance/flask.sqlite`。 3. **初始化数据库** 在`app/__init__.py`文件中,我们需要初始化Flask-SQLAlchemy和Flask-Migrate。首先导入所需的库,然后分别实例化`db`和`migrate`对象,最后在`create_app`函数中将它们添加到应用的扩展中。 4. **创建数据库模型** 数据库模型是在Python类中定义的,这些类代表了数据库中的表。例如,在`app/models.py`中,我们可以创建一个表示用户信息的模型类,使用`db.Column`来定义表的列,`db.Model`作为基类。 ```python class User(db.Model): 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 f'<User {self.username}>' ``` 5. **数据库模型初始化与数据同步** - **迁移目录初始化**:Flask-Migrate会在项目中创建一个`migrations`目录,用于存放数据库迁移的相关文件。 - **迁移文件创建**:当数据库模型发生变化时,需要创建一个新的迁移文件,记录改动。 - **数据库同步**:运行`flask db migrate`命令生成迁移脚本,然后执行`flask db upgrade`将模型的改变应用到数据库。 6. **新增数据库模型与数据库同步** 如果需要添加新的模型,重复上述步骤即可。新增模型后,同样需要创建迁移文件并执行同步。 7. **数据库操作回退** 如果需要撤销最近的数据库更改,可以使用`flask db downgrade`命令回退到前一个迁移状态。 8. **数据库操作测试** - **数据查询**:通过模型类实例的方法如`all()`、`filter()`等来查询数据。 - **数据插入**:创建模型类的实例,然后调用`db.session.add()`,最后提交事务`db.session.commit()`。 - **数据删除**:通过`delete()`方法标记要删除的实例,然后提交事务。 以上步骤详细介绍了Flask应用中使用ORM操作SQLite数据库的过程,从配置到模型创建,再到数据库的增删改查,为开发提供了方便和灵活性。