Flask 中如何定义 SQLAlchemy 模型?

推荐答案

在 Flask 中定义 SQLAlchemy 模型时,通常需要先初始化 SQLAlchemy 扩展,然后通过继承 db.Model 来定义模型类。每个模型类对应数据库中的一张表,类的属性对应表中的列。

-- -------------------- ---- -------
---- ---------------- ------ ----------

- --- ----------
-- - ------------

- -----
----- ---------------
    ------------- - -------  - ----
    -- - --------------------- -----------------  - --
    -------- - ------------------------ ------------ ---------------  - ---
    ----- - ------------------------- ------------ ---------------  - --

    --- ---------------
        ------ ------- -----------------

本题详细解读

1. 初始化 SQLAlchemy

在 Flask 中,首先需要初始化 SQLAlchemy 扩展。通常会在应用工厂函数或主应用文件中进行初始化:

2. 定义模型类

模型类继承自 db.Model,每个类属性对应数据库表中的一列。常用的列类型包括:

  • db.Integer:整数类型
  • db.String(size):字符串类型,size 为最大长度
  • db.Text:长文本类型
  • db.Boolean:布尔类型
  • db.DateTime:日期时间类型

3. 表名和列属性

  • __tablename__:指定数据库中的表名,如果不指定,默认使用类名的小写形式。
  • primary_key=True:指定该列为主键。
  • unique=True:指定该列的值必须唯一。
  • nullable=False:指定该列不能为空。

4. __repr__ 方法

__repr__ 方法用于定义对象的字符串表示形式,通常在调试时使用。

5. 创建数据库表

定义模型后,可以通过以下命令创建数据库表:

6. 使用模型

定义好模型后,可以通过模型类进行数据库操作,如插入、查询、更新和删除数据。

通过以上步骤,你可以在 Flask 中定义和使用 SQLAlchemy 模型。

纠错
反馈