【问题标题】:Django - choice set, but no drop down in formDjango - 选择集,但没有下拉形式
【发布时间】:2017-02-18 20:47:20
【问题描述】:

我想在我的模型中为模板和验证设置一个选项。

但是,在该模型的 model.form 中,我只想有一个整数字段。

如何更改小部件以获得 InputField?

我尝试将小部件更改为 forms.Model,但这似乎不起作用。我收到一个错误:

'IntegerField' object has no attribute 'attrs'

forms.py:

class KombiPublikationForm(forms.ModelForm):

    class Meta:
        model = KombiPublikation
        #fields = []
        exclude = ['pub_sprache']
        widgets = {
            'monat': forms.IntegerField(), # does not work
        }

模型.py:

MONTH = (
    (1, 'Januar'),
    (2, 'Februar'),
    (3, 'März'),
    (4, 'April'),
    (5, 'Mai'),
    (6, 'Juni'),
    (7, 'Juli'),
    (8, 'August'),
    (9, 'September'),
    (10, 'Oktober'),
    (11, 'November'),
    (12, 'Dezember'),
)

class KombiPublikation(models.Model):
    [...]
    monat = models.IntegerField(choices=MONTH)

谢谢!

【问题讨论】:

  • 您可以改用“ChoiceField”。

标签: python django django-forms django-crispy-forms


【解决方案1】:

我找到了解决方案 - NumberInput() 是正确的小部件。

【讨论】:

    【解决方案2】:
    from django.utils.dates import MONTHS
    
    choices=MONTHS.items()  
    

    【讨论】:

      猜你喜欢
      • 2014-07-24
      • 1970-01-01
      • 2021-08-25
      • 2013-08-05
      • 1970-01-01
      • 2020-08-04
      • 2021-10-31
      • 2016-11-13
      • 1970-01-01
      相关资源
      最近更新 更多