Django问题:选择字段的问题

时间:2010-12-21 12:30:02

标签: django forms models choice django-queryset

在寻找具有选择参数的字段时,我似乎在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会返回数字。我不会让它返回数字而是名字。我该怎么做?

1 个答案:

答案 0 :(得分:3)

选择kwarg的模型字段自动获得get_FIELD_NAME_display方法。例如,您可以将其放在模板中:

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

请参阅documentation

祝你好运, 贾斯汀