@@ -61,13 +61,25 @@ def apply_type_shim(cls, _context=None):
6161 except AstroidImportError :
6262 base_nodes = MANAGER .ast_from_module_name ("_pydecimal" ).lookup ("Decimal" )
6363 elif cls .name in ("SplitDateTimeField" , "DateTimeField" ):
64- base_nodes = MANAGER .ast_from_module_name ("datetime" ).lookup ("datetime" )
64+ try :
65+ base_nodes = MANAGER .ast_from_module_name ("_pydatetime" ).lookup ("datetime" )
66+ except AstroidImportError :
67+ base_nodes = MANAGER .ast_from_module_name ("datetime" ).lookup ("datetime" )
6568 elif cls .name == "TimeField" :
66- base_nodes = MANAGER .ast_from_module_name ("datetime" ).lookup ("time" )
69+ try :
70+ base_nodes = MANAGER .ast_from_module_name ("_pydatetime" ).lookup ("time" )
71+ except AstroidImportError :
72+ base_nodes = MANAGER .ast_from_module_name ("datetime" ).lookup ("time" )
6773 elif cls .name == "DateField" :
68- base_nodes = MANAGER .ast_from_module_name ("datetime" ).lookup ("date" )
74+ try :
75+ base_nodes = MANAGER .ast_from_module_name ("_pydatetime" ).lookup ("date" )
76+ except AstroidImportError :
77+ base_nodes = MANAGER .ast_from_module_name ("datetime" ).lookup ("date" )
6978 elif cls .name == "DurationField" :
70- base_nodes = MANAGER .ast_from_module_name ("datetime" ).lookup ("timedelta" )
79+ try :
80+ base_nodes = MANAGER .ast_from_module_name ("_pydatetime" ).lookup ("timedelta" )
81+ except AstroidImportError :
82+ base_nodes = MANAGER .ast_from_module_name ("datetime" ).lookup ("timedelta" )
7183 elif cls .name == "UUIDField" :
7284 base_nodes = MANAGER .ast_from_module_name ("uuid" ).lookup ("UUID" )
7385 elif cls .name == "ManyToManyField" :
0 commit comments