• Sanic二十三:Sanic + tortoise-orm 之父类Field的参数、属性、方法


    在 tortoise.fields.base 中,先定义了 _FieldMeta,然后定义了 Field 继承 _FieldMeta,然后所有字段类型都继承 Field 

    一:支持的参数

    Field参数:

    source_field: str 可用此参数指定字段为其他名字,而不使用定义的字段变量名作为表字段
    generated:bool 这个字段是否已生成
    pk: bool 字段是否为主键
    null: bool 字段是否允许为空
    default:默认值
    unique:字段值是否唯一
    index: bool 该字段是否应自行编制索引
    description:str 字段描述
    validators:此字段的验证器

    二:Field的属性

    field_type: 字段类型,该字段是Python类型,如果将一个类型添加为mixin,则_FieldMeta将自动设置为该类型。
    indexable: bool 该字段是否可索引?如果要设置为不可索引,则设置为 False。
    has_db_field: bool 此字段是否有直接对应的数据库字段
    skip_to_python_if_native: bool 如果数据库驱动程序本身支持这种 Python 类型,是否跳过它
    allows_generated: bool 该字段是否可以由数据库生成?
    function_cast: 我们需要应用的转换术语,以防数据库需要仿真帮助。
    SQL_TYPE: str SQL 类型作为 DB 将使用的字符串。
    GENERATED_SQL: str 指示数据库自动生成此字段的SQL。如果 allows_generated 指定为 True,则此字段必须指定

    三:Field的方法

    1、to_db_value:从 Python 类型转换为 数据库 类型

    2、to_python_value:从 数据库 类型转换为 Python 类型

    3、validate:验证给定值是否有效

    4、required:返回字段是否为必传

    5、constraints:返回字典

    6、get_db_field_types:返回此字段的数据库类型

    7、get_for_dialect:根据SQL返回属性/方法名称

    8、describe:生成字段的描述,参数为布尔值,False则得到python对象,True则得到json对象

    讨论群:249728408
  • 相关阅读:
    假期第五天
    假期第四天
    假期第三天
    假期第二天
    假期第一天
    《如何高效学习》读书笔记六
    十天冲刺-第八天
    十天冲刺第七天
    十天冲刺-第六天
    十天冲刺-第五天
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/15182408.html
Copyright © 2020-2023  润新知