1- from typing import AbstractSet , Any , Callable , Dict , Mapping , Optional , Sequence , Type , Union
1+ from typing import AbstractSet , Any , Callable , Dict , List , Literal , Mapping , Optional , Sequence , Type , Union
22
33from sqlalchemy import Column
44from sqlmodel ._compat import Undefined , UndefinedType , post_init_field_info
77from fastapi_amis_admin .amis import FormItem , TableColumn
88from fastapi_amis_admin .utils .pydantic import PYDANTIC_V2
99
10+ if PYDANTIC_V2 :
11+ from pydantic .fields import AliasChoices , AliasPath
12+
13+ ValidationAliasT = Union [str , AliasPath , AliasChoices , None ]
14+ else :
15+ ValidationAliasT = Optional [str ]
16+
1017
1118def Field (
1219 default : Any = Undefined ,
1320 * ,
1421 default_factory : Optional [NoArgAnyCallable ] = None ,
1522 alias : Optional [str ] = None ,
23+ alias_priority : Optional [int ] = Undefined ,
24+ validation_alias : ValidationAliasT = Undefined ,
25+ serialization_alias : Optional [str ] = Undefined ,
1626 title : Optional [str ] = None ,
1727 description : Optional [str ] = None ,
28+ examples : Optional [List [Any ]] = Undefined ,
1829 exclude : Union [AbstractSet [Union [int , str ]], Mapping [Union [int , str ], Any ], Any ] = None ,
1930 include : Union [AbstractSet [Union [int , str ]], Mapping [Union [int , str ], Any ], Any ] = None ,
2031 const : Optional [bool ] = None ,
@@ -34,6 +45,14 @@ def Field(
3445 regex : Optional [str ] = None ,
3546 discriminator : Optional [str ] = None ,
3647 repr : bool = True ,
48+ init_var : Optional [bool ] = Undefined ,
49+ kw_only : Optional [bool ] = Undefined ,
50+ pattern : Optional [str ] = Undefined ,
51+ strict : Optional [bool ] = Undefined ,
52+ allow_inf_nan : Optional [bool ] = Undefined ,
53+ union_mode : Literal ["smart" , "left_to_right" ] = Undefined ,
54+ frozen : Optional [bool ] = Undefined ,
55+ validate_default : Optional [bool ] = Undefined ,
3756 primary_key : Union [bool , UndefinedType ] = Undefined ,
3857 foreign_key : Any = Undefined ,
3958 unique : Union [bool , UndefinedType ] = Undefined ,
@@ -58,6 +77,18 @@ def Field(
5877 if PYDANTIC_V2 :
5978 current_schema_extra = {
6079 "json_schema_extra" : current_schema_extra ,
80+ "alias_priority" : alias_priority ,
81+ "validation_alias" : validation_alias ,
82+ "serialization_alias" : serialization_alias ,
83+ "examples" : examples ,
84+ "init_var" : init_var ,
85+ "kw_only" : kw_only ,
86+ "pattern" : pattern ,
87+ "strict" : strict ,
88+ "allow_inf_nan" : allow_inf_nan ,
89+ "union_mode" : union_mode ,
90+ "frozen" : frozen ,
91+ "validate_default" : validate_default ,
6192 }
6293 field_info = FieldInfo (
6394 default ,
0 commit comments