3
3
from typing import (
4
4
TYPE_CHECKING ,
5
5
Any ,
6
- Dict ,
6
+ ClassVar ,
7
7
Generic ,
8
8
Iterable ,
9
- List ,
10
9
Literal ,
11
10
Mapping ,
12
11
Optional ,
13
- Type ,
14
12
Union ,
15
13
overload ,
16
14
)
26
24
27
25
28
26
class SchemaOpts (ma .SchemaOpts , Generic [TVModel ]):
29
- model : Optional [Type [TVModel ]]
27
+ model : Optional [type [TVModel ]]
30
28
dump_only_pk : bool
31
29
string_keys : bool
32
30
id_keys : bool
33
- model_converter : Type [DefaultConverter ]
31
+ model_converter : type [DefaultConverter ]
34
32
35
33
def __init__ (self , meta , ** kwargs ):
36
34
super (SchemaOpts , self ).__init__ (meta , ** kwargs )
@@ -73,7 +71,7 @@ def __new__(cls, name, bases, attrs):
73
71
return super (SchemaMeta , cls ).__new__ (cls , name , bases , attrs )
74
72
75
73
@classmethod
76
- def get_declared_fields (cls , klass , cls_fields , inherited_fields , dict_cls ):
74
+ def get_declared_fields (cls , klass , cls_fields , inherited_fields , dict_cls = dict ):
77
75
opts : SchemaOpts = klass .opts
78
76
base_fields = super (SchemaMeta , cls ).get_declared_fields (
79
77
klass , cls_fields , inherited_fields , dict_cls
@@ -95,20 +93,21 @@ class ModelSchema(ma.Schema, Generic[TVModel], metaclass=SchemaMeta):
95
93
OPTIONS_CLASS = SchemaOpts
96
94
97
95
opts : SchemaOpts [TVModel ]
96
+ Meta : ClassVar [type [Any ]]
98
97
99
98
def __init__ (self , instance : Optional [TVModel ] = None , ** kwargs ):
100
99
self .instance = instance
101
100
super (ModelSchema , self ).__init__ (** kwargs )
102
101
103
102
@overload # type: ignore[override]
104
- def load (self , data , * , many : Optional [Literal [False ]] = None , ** kwargs ) -> TVModel :
105
- ...
103
+ def load (
104
+ self , data , * , many : Optional [Literal [False ]] = None , ** kwargs
105
+ ) -> TVModel : ...
106
106
107
107
@overload
108
108
def load (
109
109
self , data , * , many : Optional [Literal [True ]] = None , ** kwargs
110
- ) -> List [TVModel ]:
111
- ...
110
+ ) -> list [TVModel ]: ...
112
111
113
112
def load (
114
113
self ,
@@ -121,7 +120,7 @@ def load(
121
120
return super ().load (data , ** kwargs )
122
121
123
122
@ma .post_load
124
- def make_instance (self , data : Dict [str , Any ], ** params ) -> Union [Dict , TVModel ]:
123
+ def make_instance (self , data : dict [str , Any ], ** params ) -> Union [dict , TVModel ]:
125
124
"""Build object from data."""
126
125
if not self .opts .model :
127
126
return data
@@ -137,18 +136,14 @@ def make_instance(self, data: Dict[str, Any], **params) -> Union[Dict, TVModel]:
137
136
if TYPE_CHECKING :
138
137
139
138
@overload # type: ignore[override]
140
- def dump (self , obj ) -> Dict [str , Any ]:
141
- ...
139
+ def dump (self , obj ) -> dict [str , Any ]: ...
142
140
143
141
@overload
144
- def dump (self , obj , * , many : Literal [False ]) -> Dict [str , Any ]:
145
- ...
142
+ def dump (self , obj , * , many : Literal [False ]) -> dict [str , Any ]: ...
146
143
147
144
@overload
148
- def dump (self , obj , * , many : Literal [True ]) -> List [Dict [str , Any ]]:
149
- ...
145
+ def dump (self , obj , * , many : Literal [True ]) -> list [dict [str , Any ]]: ...
150
146
151
147
def dump (
152
148
self , obj : Union [TVModel , Iterable [TVModel ]], * , many : Optional [bool ] = None
153
- ) -> Union [Dict [str , Any ], List [Dict [str , Any ]]]:
154
- ...
149
+ ) -> Union [dict [str , Any ], list [dict [str , Any ]]]: ...
0 commit comments