Sanic二十四:Sanic + tortoise-orm 之常用字段類型和參數


 

在 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM