22 lines
2.1 KiB
Markdown
22 lines
2.1 KiB
Markdown
## ClassDef BaseModel
|
||
**BaseModel**: BaseModel 的功能是提供一个数据库模型的基础结构。
|
||
|
||
**属性**:
|
||
- `id`: 主键ID,用于唯一标识每个记录。
|
||
- `create_time`: 记录的创建时间。
|
||
- `update_time`: 记录的最后更新时间。
|
||
- `create_by`: 记录的创建者。
|
||
- `update_by`: 记录的最后更新者。
|
||
|
||
**代码描述**:
|
||
BaseModel 类定义了一个数据库模型的基础结构,它包含了几个常见且重要的字段。这些字段包括:
|
||
- `id` 字段使用 `Column` 函数定义,其类型为 `Integer`,并且被设置为主键(`primary_key=True`),同时启用索引(`index=True`),以便提高查询效率。此外,该字段还有一个注释(`comment="主键ID"`),用于说明字段的用途。
|
||
- `create_time` 字段记录了数据被创建的时间,其类型为 `DateTime`。该字段的默认值通过 `datetime.utcnow` 函数设置,以确保使用的是创建记录时的UTC时间。此字段同样有一个注释(`comment="创建时间"`)。
|
||
- `update_time` 字段记录了数据最后一次被更新的时间,类型也是 `DateTime`。不同的是,它的默认值设置为 `None`,并且通过 `onupdate=datetime.utcnow` 参数设置,当记录更新时,此字段会自动更新为当前的UTC时间。该字段也有相应的注释(`comment="更新时间"`)。
|
||
- `create_by` 和 `update_by` 字段用于记录数据的创建者和最后更新者的信息,它们的类型都是 `String`。默认值为 `None`,并且各自有对应的注释(`comment="创建者"` 和 `comment="更新者"`),用于说明字段的用途。
|
||
|
||
**注意**:
|
||
- 使用BaseModel时,需要注意`create_time`和`update_time`字段默认使用的是UTC时间,这意味着如果应用程序在不同的时区运行,可能需要进行相应的时区转换。
|
||
- `id`字段被设置为主键和索引,这对于数据库性能优化是非常重要的。确保每个模型都有一个唯一的标识符。
|
||
- `create_by` 和 `update_by` 字段的默认值为 `None`,在实际应用中,根据业务需求,可能需要在数据创建或更新时,显式地设置这些字段的值。
|