在 tortoise-orm 中定義字段,需要使用 tortoise-orm提供的fields模塊下的字段
1、BigIntField:大整數字段,長度支持64位,除了支持繼承自Field的參數外,還支持pk(primary key),指定是否為主鍵
constraints屬性:返回具有以 Pydantic/JSONSchema 格式定義的約束的字典。
2、BinaryField:二進制字段,用於存儲bytes對象,不支持過濾器或查詢集更新操作
3、BooleanField:布爾字段BooleanField:布爾字段
4、CharEnumField:字符串枚舉字段
說明:
1、的有效 str 值 enum_type 是可以接受的。
2、如果未指定“max_length”或該值等於零,則表示自動檢測字符字段。因此,如果以后更新枚舉,則需要更新表架構。
參數:
enum_type:枚舉類
description:字段的描述。如果未指定為"name: value"的多行列表,則會自動設置。
max_length:創建的 CharField 的長度。如果它為零,它會自動從 enum_type 中檢測到。
5、字符串類型
參數:max_length (int),必傳,字段的最大長度(以字符為單位)。
屬性:constraints,返回具有以 Pydantic/JSONSchema 格式定義的約束的字典。
6、DateField:日期字段
7、DatetimeField:日期時間字段
auto_now(bool): 保存時始終設置為datetime.utcnow()
auto_now_add(bool): 僅在第一次保存時設置為datetime.utcnow()
auto_now 和 auto_now_add 是互斥的,要么都不設置,要么只設置一個
constraints:返回具有以 Pydantic/JSONSchema 格式定義的約束的字典。
describe:生成字段的描述,參數為布爾值,False則得到python對象,True則得到json對象
8、DecimalField:精確的十進制字段
max_digits (int): 必傳字段,十進制字段的最大有效位數
decimal_places (int): 必傳字段,這些有效數字中有多少是小數點后的
9、FloatField:浮點數類型
10、IntEnumField:整數枚舉字段
enum_type:枚舉類,可以是有效的int類型
description:字段的描述,如果未指定為 "name: value" 對的多行列表,則字段的描述將自動設置
11、IntField:int類型,除了支持繼承自Field的參數外,還支持pk(primary key),指定是否為主鍵
12、JSONField:此字段可以存儲任何符合 JSON 的結構的字典或列表。
encoder:自定義 JSON 編碼器。
decoder:自定義 JSON 解碼器。
13、SmallIntField:小整數字段,支持16位
pk(bool):是否為主鍵
constraints: 返回具有以 Pydantic/JSONSchema 格式定義的約束的字典
14、TextField: 大文本字段
15、TimeDeltaField: 用於存儲時差的字段
16、該字段可以存儲 uuid 值,如果用作主鍵,它將默認自動生成 UUID4