Я работаю с Django, и у меня есть класс для определения некоторых констант (я использую это в моих моделях)
class ArticleStatus:
OPEN = 'open'
CLOSED = 'closed'
BLOCKED = 'blocked'
CHOICES = (
(OPEN, 'Open'),
(CLOSED, 'Closed'),
(BLOCKED, 'Blocked')
)
На мой взгляд, у меня есть набор запросов, который дает мне такой результат:
context['total'] = [
{'status': 'open', 'total': 102},
{'status': 'closed', 'total': 150},
{'status': 'blocked', 'total': 24}
]
Моя цель - преобразовать значения состояния в более читаемые значения из констант. Я сделал это с помощью следующего кода
for i in range(0, len(context['total'])):
status = context['total'][i]['status']
for status_const in ArticleStatus.CHOICES:
if status == status_const[0]:
context['total'][i]['status'] = status_const[1]
И преобразованный результат:
context['total'] = [
{'status': 'Open', 'total': 102},
{'status': 'Closed', 'total': 150},
{'status': 'Blocked', 'total': 24}
]
Рабочий пример
Однако мой код выглядит не очень эффективно, и я хотел спросить, есть ли у кого-нибудь лучшее решение?