tortoise fields
时间: 2025-01-10 10:40:46 浏览: 77
### Tortoise ORM 字段定义和用法
在Tortoise ORM中,字段表示模型类中的列及其数据类型。这些字段不仅描述了存储的数据类型,还提供了验证和其他元数据的功能[^1]。
#### 基本字段类型
以下是几种常见的基本字段类型:
- `IntField`:整数类型的字段。
- `CharField`:字符串类型的字段,通常带有最大长度参数。
- `BooleanField`:布尔值类型的字段。
- `FloatField`:浮点数值类型的字段。
- `DateTimeField`:日期时间类型的字段,支持自动设置当前时间和日期。
每种字段都有特定的用途以及可以附加的不同选项来满足不同的需求。
#### 定义字段
为了创建一个具有各种字段的新表,在继承自`tortoise.models.Model`的类里声明相应的字段即可。下面是一些例子说明如何定义不同种类的字段:
```python
from tortoise import fields, Model
class Event(Model):
id = fields.IntField(pk=True) # 主键字段
name = fields.CharField(max_length=255) # 名字字段
timestamp = fields.DatetimeField(auto_now_add=True) # 创建时的时间戳字段
class Meta:
table = "events"
```
在这个示例中,`Event` 类代表了一个名为 `"events"` 的数据库表,并包含了三个字段:`id`, `name` 和 `timestamp`. 这里的 `pk=True` 表明该字段为主键;而 `auto_now_add=True` 则意味着每当记录被插入时会自动填充此字段为当前时间.
#### 高级功能
除了上述基础操作外,还可以利用更多高级特性来自定义行为或约束条件。例如通过传递额外的关键字参数给字段构造器实现更复杂的逻辑控制,像默认值(`default`)、索引(`index`)等配置项都可以在这里指定:
```python
description = fields.TextField(null=True, default="No description provided.")
price = fields.DecimalField(max_digits=8, decimal_places=2)
is_active = fields.BooleanField(default=True, index=True)
```
以上代码片段展示了如何设定可选的文字描述,默认价格格式化方式,还有是否激活状态并为其建立索引来提高查询效率。
阅读全文
相关推荐


















