Django views.py Поиск значения из списка констант
В django views.py как при выборе (числа) из ввода получить соответствующее "Описание"? Например, пользователь выбирает 3 и возвращает "Yellow"
colors = [
('0','black'),
('1','white'),
('2','Red'),
('3','Yellow'),
('4','Blue'),
('5','Green')
]
...
colorSelection = form.cleaned_data.get('color')
#lookup color description
colorDescription = ???
Вам нужно будет сделать словарь или хотя бы что-то, чтобы искать описание, так:
COLORS = [
('0', 'black'),
('1', 'white'),
('2', 'Red'),
('3', 'Yellow'),
('4', 'Blue'),
('5', 'Green'),
]
# …
colorSelection = form.cleaned_data.get('color')
colorDescription = dict(COLORS).get(colSelection)
Однако, начиная с django-3.0, часто вместо этого указывается TextChoices
, что делает поиск более удобным:
class ColorChoices(models.TextChoices):
BLACK = '0', 'black'
WHITE = '1', 'white'
RED = '2', 'red'
YELLOW = '3', 'yellow'
BLUE = '4', 'blue'
GREEN = '5', 'green'
Тогда мы можем посмотреть его с помощью:
ColorChoices(colSelection).label