Лучший способ добавить третий атрибут к выбору моделей Django

Как следует из заголовка, какой лучший способ добавить третий атрибут к выбору перечисления модели Django, чтобы я мог получить доступ к свойству таким же образом, как value или label. Например, назовем этот третий атрибут text

чего я хочу:

class Vehicle(models.Model):

    class VehicleType(??):
        HONDA_CIVIC = 1, _("New car"), _("Vroom vroom")
        FORD_MODEL_T = 2, _("Old car"), _("not so fast") 

    type = models.IntegerField(choices=VehicleType.choices, default=VehicleType.FORD_MODEL_T)


vehicle = Vehicle.objects.create()
vehicle.type.text
>>> not so fast

Возможно ли это без перезаписи базовой ChoicesMeta? Я попробовал вариант, описанный в python enum docs путем обновления __new__, но, похоже, это не работает. (И да, я знаю, что могу изменить его на models.TextChoices и отказаться от значения int, но мне интересно, легко ли это сделать)

Вернуться на верх