Browse Source

Fixed #34807 -- Avoided circular import between forms, models, and utils' choices.

Thanks Collin Anderson for the report.

Regression in 500e01073adda32d5149624ee9a5cb7aa3d3583f.
nessita 1 năm trước cách đây
mục cha
commit
9c68792843
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      django/utils/choices.py

+ 2 - 1
django/utils/choices.py

@@ -1,6 +1,5 @@
 from collections.abc import Callable, Iterable, Iterator, Mapping
 
-from django.db.models.enums import ChoicesMeta
 from django.utils.functional import Promise
 
 
@@ -20,6 +19,8 @@ class CallableChoiceIterator(ChoiceIterator):
 
 def normalize_choices(value, *, depth=0):
     """Normalize choices values consistently for fields and widgets."""
+    # Avoid circular import when importing django.forms.
+    from django.db.models.enums import ChoicesMeta
 
     match value:
         case ChoiceIterator() | Promise() | bytes() | str():