【问题标题】:Django problem: problem with choice fieldsDjango 问题:选择字段的问题
【发布时间】:2011-05-28 19:22:42
【问题描述】:

在 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 返回数字。我不会让它返回数字,而是返回名称。我该怎么做?

【问题讨论】:

    标签: django forms models choice django-queryset


    【解决方案1】:

    采用choices kwarg 的模型字段自动获得get_FIELD_NAME_display 方法。因此,例如,您可以将其放入模板中:

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

    请参阅documentation

    祝你好运, 贾斯汀

    【讨论】:

      猜你喜欢
      • 2011-11-11
      • 1970-01-01
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-10
      • 1970-01-01
      • 2010-12-24
      相关资源
      最近更新 更多