Refs #30095 -- Simplified Field._check_choices() a bit.
Using an internal is_value() hook to check whether Field.choices is iterable is misleading.
This commit is contained in:
parent
3cf907c20c
commit
a9bd01d363
|
@ -241,10 +241,10 @@ class Field(RegisterLookupMixin):
|
||||||
if not self.choices:
|
if not self.choices:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def is_value(value, accept_promise=True):
|
def is_value(value):
|
||||||
return isinstance(value, (str, Promise) if accept_promise else str) or not is_iterable(value)
|
return isinstance(value, (str, Promise)) or not is_iterable(value)
|
||||||
|
|
||||||
if is_value(self.choices, accept_promise=False):
|
if not is_iterable(self.choices) or isinstance(self.choices, str):
|
||||||
return [
|
return [
|
||||||
checks.Error(
|
checks.Error(
|
||||||
"'choices' must be an iterable (e.g., a list or tuple).",
|
"'choices' must be an iterable (e.g., a list or tuple).",
|
||||||
|
|
Loading…
Reference in New Issue