Django问题:选择字段的问题

发布于 2024-10-08 18:46:29 字数 868 浏览 5 评论 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_typecontract_status 返回数字。我不让它返回数字,而是返回名称。我该怎么做?

I seem to have problem in Django when looking for a field which has a choice parameter. I do not get the field name but instead I get the number for some odd reason.

My 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

In my template. I have the following

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

They all return a value. But contact_type and contract_status returns numbers. I do not to make it return numbers but the names. How do I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沩ん囻菔务 2024-10-15 18:46:29

采用选择 kwarg 的模型字段会自动获取 get_FIELD_NAME_display 方法。例如,您可以将其放入模板中:

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

请参阅 文档

祝你好运,
贾斯汀

Model fields that take a choices kwarg automagically get a get_FIELD_NAME_display method. So for example, you could should put this in your template:

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

See the documentation.

Good luck,
Justin

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文