У меня есть класс моделей с полем выбора/положительным целым числом.django views.py - показать положительное значение текстового значения
class AchievementDetails(models.Model, FillableModelWithLanguageVersion):
ACADEMIC_ACHIEVEMENT = 1
COMMERCIAL_ACHIEVEMENT = 2
PERSONAL_ACHIEVEMENT = 3
PROFESSIONAL_ACHIEVEMENT = 4
SPORTING_ACHIEVEMENT = 5
OTHER_ACHIEVEMENT_TYPE = 6
ACHIEVEMENT_TYPES = (
(ACADEMIC_ACHIEVEMENT, _('Academic Details')),
(COMMERCIAL_ACHIEVEMENT, _('Commercial Achievement')),
(PERSONAL_ACHIEVEMENT, _('Personal Achievement')),
(PROFESSIONAL_ACHIEVEMENT, _('Professional Achievement')),
(SPORTING_ACHIEVEMENT, _('Sporting Achievement')),
(OTHER_ACHIEVEMENT_TYPE, _('Other Achievement Type')),
)
....
achievement_type = models.PositiveIntegerField(choices=ACHIEVEMENT_TYPES)
....
На моих view.py Я пытаюсь отобразить выбранный текст типа достижения. Например: Академические достижения
В настоящее время я могу отображать только выбранное числовое значение. Например: 1
Вот код, который у меня в views.py:
def achievement_details(request):
....
for ad in achievement_details:
ad.achievement_type_as_text = ad.achievement_type
....
Что такое правильный код, чтобы вернуть выбранный текст ACHIEVEMENT_TYPES?
Спасибо за ответ. если я поместил ваш код в views.py. Я получаю сообщение об ошибке: глобальное имя «ACHIEVEMENT_TYPES» не определено. Как импортировать ACHIEVEMENT_TYPES? Не уверен, как импортировать его из models.py или даже если я делаю это правильно. – user1261774
Вы можете поместить его в свой файл models.py, а затем, если вам нужно использовать его в другом месте, вы можете сделать следующее: from models.py import ACHIEVEMENT_TYPES –