11import ast
2+ from collections .abc import Container , Iterable , Iterator
23from functools import partial
34from typing import (
45 TYPE_CHECKING ,
56 Callable ,
6- Container ,
7- Dict ,
8- Iterable ,
9- Iterator ,
10- List ,
117 Optional ,
12- Tuple ,
13- Type ,
148 Union ,
159 cast ,
1610)
3630
3731
3832class ModelAST (DisableCommentProtocol , ModelASTProtocol ):
39- def __init__ (self , model_cls : Type [models .Model ], meta_checks : Container [CheckId ]):
33+ def __init__ (self , model_cls : type [models .Model ], meta_checks : Container [CheckId ]):
4034 self .model_cls = model_cls
4135 self .meta_checks = meta_checks
42- self ._assignment_nodes : List [ast .Assign ] = []
36+ self ._assignment_nodes : list [ast .Assign ] = []
4337 self ._meta : Optional [ast .ClassDef ] = None
4438
4539 @cached_property
@@ -73,8 +67,8 @@ def _meta_node(self) -> Optional[ast.ClassDef]:
7367 return self ._meta
7468
7569 @cached_property
76- def _meta_vars (self ) -> Dict [str , ast .Assign ]:
77- data : Dict [str , ast .Assign ] = {}
70+ def _meta_vars (self ) -> dict [str , ast .Assign ]:
71+ data : dict [str , ast .Assign ] = {}
7872 if not self ._meta_node :
7973 return data
8074 for node in ast .iter_child_nodes (self ._meta_node ):
@@ -83,7 +77,7 @@ def _meta_vars(self) -> Dict[str, ast.Assign]:
8377 return data
8478
8579 @cached_property
86- def _assignments (self ) -> Dict [str , ast .Assign ]:
80+ def _assignments (self ) -> dict [str , ast .Assign ]:
8781 self ._parse ()
8882 result = {}
8983 for node in self ._assignment_nodes :
@@ -92,7 +86,7 @@ def _assignments(self) -> Dict[str, ast.Assign]:
9286 return result
9387
9488 @cached_property
95- def field_nodes (self ) -> Iterable [Tuple [models .fields .Field , "FieldAST" ]]:
89+ def field_nodes (self ) -> Iterable [tuple [models .fields .Field , "FieldAST" ]]:
9690 for field in self .model_cls ._meta .get_fields (include_parents = False ):
9791 if isinstance (field , models .Field ):
9892 yield (
@@ -155,11 +149,11 @@ def __init__(
155149 self ._source_provider = source_provider
156150
157151 @cached_property
158- def _args (self ) -> List [ast .expr ]:
152+ def _args (self ) -> list [ast .expr ]:
159153 return self ._node .value .args # type: ignore
160154
161155 @cached_property
162- def _kwargs (self ) -> Dict [str , ast .keyword ]:
156+ def _kwargs (self ) -> dict [str , ast .keyword ]:
163157 return {kw .arg : kw for kw in self ._node .value .keywords if kw .arg } # type: ignore
164158
165159 def get_arg (self , name : str ) -> Optional [ArgASTProtocol ]:
0 commit comments