Skip to content

Commit 9b3750a

Browse files
author
Matej Spiller Muys
committed
Support for python 3.12 datetime
1 parent 955f779 commit 9b3750a

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

pylint_django/transforms/fields.py

+16-4
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)