0

選択パラメーターを持つフィールドを探すときに、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_type、数値をcontract_status返します。数字ではなく名前を返さないようにします。どうすればいいですか?

4

1 に答える 1

3

選択肢 kwarg を取るモデル フィールドは、自動的にget_FIELD_NAME_displayメソッドを取得します。たとえば、これをテンプレートに入れる必要があります。

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

ドキュメントを参照してください。

がんばれ、ジャスティン

于 2010-12-21T12:34:42.427 に答える