2012-03-22 22 views
0

Django pythonの問題:selectドロップダウンは、項目の数値を返します。私はそれのテキスト値を取得する方法を把握することはできません。数字ではなく選択した項目を表示

Models.py

profile_types = (('0', "Yadda"), ('1', "Frank and beans"), ('2', "Type"), ('3', "Placeholder"),\ 
       ('4', "Another"), ('5', "And another"), ('6', "aaand another"),\ 
       ('7', "Another"), ('8', "Last Type")) 

class Profile(models.Model): 
    user = models.ForeignKey(User, null=True, unique=True) 
    profile_types = models.CharField(max_length=2, choices=profile_types) 

Forms.py

class EditProfileForm(forms.Form): 
    profile_types = (('0', "Yadda"), ('1', "Frank and beans"), ('2', "Type"), ('3', "Placeholder"),\ 
        ('4', "Another"), ('5', "And another"), ('6', "aaand another"),\ 
        ('7', "Another"), ('8', "Last Type")) 
    name = forms.CharField(max_length=100, required=False, widget=forms.TextInput(attrs={'class':'input-text'})) 
    about = forms.CharField(widget=forms.Textarea(attrs={'class':'input-text'}), required=False) 
    org_name = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'class':'input-text'})) 
    org_type = forms.CharField(max_length=8, widget=forms.Select(choices=choices)) 
    profile_type = forms.CharField(max_length=4, widget=forms.Select(choices=choices)) 

テンプレート:

<span>{{ profile.profile_type }}</span> 

返し

1 <-- (I'm trying to display "Frank and beans") --> 

答えて

2

あなたのモデルは、まさにこの目的のための方法get_profile_type_displayを持っていますhttps://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.get_FOO_display

ところで、あなたはtest_valueあなたが探している数値がどこにもどちらかdict(profile_types)[b for a,b in profile_types if a == test_value]を使用して、選択肢を検索することができたい場合。

+1

パーフェクト。ありがとうございました。 – Modelesq

+0

@Modelesq問題ありません! – Marcin

関連する問題