• 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

    讨论群:249728408
  • 相关阅读:
    Java8实战之Stream流式操作
    类、对象、引用
    java对象的四种引用:强引用、软引用、弱引用和虚引用
    《将博客搬至CSDN》
    **JAVA参数传递方式 (按值传递与引用传递区别)
    JavaWeb--ServletContext
    HttpSessionListener的用法
    SpringMVC优雅的获取HttpSevletRequest及HttpServletResponse简录
    setnx
    JVM命令工具开发
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/15187199.html
Copyright © 2020-2023  润新知