2010-12-21 40 views
0

Djangoで選択パラメータを持つフィールドを探すときに問題があるようです。私はフィールド名を取得していない代わりに、私はいくつかの奇妙な理由のために番号を取得します。Djangoの問題:選択フィールドの問題

マイforms.py:私のテンプレートで

from django import forms 

CONTRACT_TYPE_CHOICES = (
       (1, 'Annual'), 
       (2, 'Ad-hoc'), 
       ) 

CONTRACT_STATUS_CHOICES = (
    (1, 'Active'), 
    (2, 'In-Active'), 
) 

class ContractForm(forms.ModelForm): 
    contract_type = forms.ChoiceField(choices=CONTRACT_TYPE_CHOICES) 
    contract_status = forms.ChoiceField(choices=CONTRACT_STATUS_CHOICES) 

    class Meta: 
    model = Contract 

。私は以下を持っています

{% for contracts in contracts_list %} 
    {{contracts.client_contract_number}}<br/> 
    {{contracts.contract_type}}<br/> 
    {{contracts.contract_status}}<br/> 
{% endfor %} 

これらはすべて値を返します。しかし、contact_typecontract_statusは数字を返します。私はそれが数字ではなく名前を返させるようにします。これはどうすればいいですか?

答えて

3

kwargを自動的に選択するモデルフィールドは、get_FIELD_NAME_displayメソッドを取得します。たとえば、テンプレートに入れてください:

{{ contracts.get_contract_type_display }} 
{{ contracts.get_contract_status_display }} 

documentationを参照してください。

幸運、 ジャスティン