FastApi(二) -- 集成peewee操作数据库

FastApi(二) – 集成peewee操作数据库

peewee是什么

Peewee 是一个简单而强大的 Python ORM(对象关系映射)库,它提供了轻量级、简单易用的数据库操作功能。它的设计目标是提供一个简单而直观的 API,同时保持高性能和可扩展性,使得开发者能够轻松地在 Python 应用中进行数据库操作。

  1. 简单易用: Peewee 的 API 设计简洁清晰,易于理解和使用。它提供了类似于 Python 数据结构的对象模型,使得数据库操作变得非常直观和自然。
  2. 轻量级: Peewee 是一个轻量级的 ORM 库,它的代码库相对较小,没有过多的依赖。这使得它非常适合于小型项目或需要高性能的应用。
  3. 支持多种数据库后端: Peewee 支持多种流行的数据库后端,包括 SQLite、MySQL、PostgreSQL 等。这使得开发者可以根据项目需求选择最适合的数据库。
  4. 灵活性: Peewee 提供了丰富的查询构建器和条件表达式,使得开发者能够灵活地构建复杂的查询语句。同时,它还支持原生 SQL 查询,满足了更高级的需求。
  5. 性能优化: 尽管 Peewee 是一个轻量级的 ORM 库,但它仍然具有优秀的性能。它通过一些优化技巧和缓存机制来提高查询效率,同时保持了稳定性和可靠性。
  6. Peewee 拥有一个活跃的开发者社区,提供了丰富的文档和教程,以及持续的更新和维护。这使得开发者能够快速解决问题,并获取帮助和支持。

FastApi如何集成Peewee

  1. 准备工作

    1. 安装FastAPI与Peewee相关包

      pip install fastapi uvicron peewee
      
  2. 搭建FastApi项目并集成Peewee

    1. 创建一个新的 Python 文件,比如 app.py,并编写以下代码来创建一个基本的 FastAPI 应用:

      from fastapi import fastapi
      
      app = fastapi()
      
      if __name__ = "__main__":
          uvicoorn.run(app="main:app", host="localhost", port=8000)
      
    2. 引入peewee包,并连接数据库(以mysql数据库为例)

      from peewee import MySQLDatabase
      
      mysqlDb = MySQLDatabase(
          database='book_libs',
          user='root',
          password='passwrod',
          host='127.0.0.1',
          port=3306)
      
      # 开启服务时连接数据库
      app.on_event('startup')
      def startup():
          mysqlDb.connect()
      
      # 关闭服务时断开连接
      @app.on_event('shutdown')
      def shutdown():
          mysqlDb.close()
      
    3. 创建数据表的映

      -- book_libs.`user` definition
      
      CREATE TABLE `user` (
        `id` bigint unsigned NOT NULL COMMENT '用户id',
        `user_name` varchar(100) NOT NULL COMMENT '用户名称',
        `user_code` varchar(100) NOT NULL COMMENT '用户编码',
        `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
        `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '编辑时间',
        `create_by` bigint unsigned NOT NULL COMMENT '创建人',
        `gender` int NOT NULL DEFAULT '1' COMMENT '性别(1 男 0 女)',
        `avatar` varchar(100
### 设置Peewee ORM #### 安装Peewee库 要使用Peewee ORM,首先需要通过pip安装该库。对于Python环境的支持范围是从2.7到最新的版本,包括3.4以上版本,并且推荐在较新的环境中如3.11上进行开发。 ```bash pip install peewee ``` 此命令会下载并安装最新版的Peewee及其依赖项[^1]。 #### 配置数据库连接 Peewee支持多种类型的数据库引擎,比如SQLite, MySQL, PostgreSQL以及CockroachDB。下面的例子展示了如何配置一个简单的SQLite数据库: ```python from peewee import SqliteDatabase database = SqliteDatabase('my_app.db') ``` 如果偏好其他数据库,则可以相应地替换`SqliteDatabase`为对应的类,例如`MySQLDatabase`, `PostgresqlDatabase`等,并提供必要的参数来建立连接。 #### 创建模型定义 接下来创建数据表结构,这通常由继承自`Model`基类的新类表示。每个属性对应于表格中的列。这里给出一段示范代码用于描述用户信息的数据表: ```python from peewee import Model, CharField, IntegerField class User(Model): username = CharField(unique=True) join_date = DateField() class Meta: database = database # 这个字段指定了所使用的数据库实例 ``` 上述代码片段中,`User`类代表了一个名为"user"的关系型数据库表;其中包含了两个字段:一个是用户名(`username`),另一个是加入日期(`join_date`). 同时还设置了唯一约束以防止重复注册相同的用户名. #### 初始化数据库和迁移操作 完成前面几步之后就可以初始化数据库对象了。一般情况下只需要调用一次即可完成建表工作: ```python if __name__ == '__main__': with database: database.create_tables([User]) ``` 这段脚本会在启动程序的时候自动检测是否存在相应的表单,如果没有的话就会按照之前定义好的模式去新建它们.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值