Проблема Джанго: проблема с полями выбора - PullRequest
0 голосов
/ 21 декабря 2010

Кажется, у меня проблема в 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 возвращают числа. Я делаю не цифры, а имена. Как мне это сделать?

1 Ответ

3 голосов
/ 21 декабря 2010

Поля модели, которые выбирают kwarg, автоматически получают метод get_FIELD_NAME_display.Например, вы можете поместить это в свой шаблон:

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

См. Документацию .

Удачи, Джастин

...