我有一個帶有選擇列表/正整數字段的模型類。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)
....
在我的views.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 2014-09-24 05:36:42
您可以將其放置在models.py文件中,然後如果您需要在其他地方使用它,則可以執行以下操作:從models.py導入ACHIEVEMENT_TYPES – 2014-09-27 05:51:21