Open MiltosD opened 7 months ago
In Django 5.0 field choices seem to be always lists, even when defined as Choices. In Django 4.3.9 it seems to be working as expected.
from model_utils import Choices class MyClass my_field = models.CharField( choices=Choices(("M", "Male", "MALE"), ("F", "Female", "FEMALE")) )
Django 4.2.11
from models import MyModel type(MyModel._meta.get_field("my_field").choices)
<class 'model_utils.choices.Choices'>
MyModel._meta.get_field("my_field").choices
Choices(("M", "Male", "MALE"), ("F", "Female", "FEMALE"))
Django 5.0
<class 'list'>
[("M", "MALE"), ("F", "FEMALE")]
This raises an error
TypeError: list indices must be integers or slices, not str
when trying to
MyModel._meta.get_field("my_field").choices["M"]
Can you provide a PR with a failing testcase?
Problem
In Django 5.0 field choices seem to be always lists, even when defined as Choices. In Django 4.3.9 it seems to be working as expected.
Environment
Code examples
Django 4.2.11
Django 5.0
This raises an error
when trying to